Skip to content

Runtime Logger

Astro provides a logger (typed AstroIntegrationLogger) configured for each integration on all the official integration hooks. But this logger is only accessible on the code configuring the integration, not for any runtime modules defined by it.

This integration allows you to access the logger from the runtime of your integration.

Installing the integration

Terminal window
npm i @inox-tools/runtime-logger

Using the integration

To enable this, you need to register your integration to have a runtime logger under some name:

your-integration/index.ts
import { runtimeLogger } from '@inox-tools/runtime-logger';
export default () => ({
name: 'your-integration',
hooks: {
'astro:config:setup': (params) => {
runtimeLogger(params, {
name: 'your-integration',
});
},
},
});

With that in place, your runtime code can now access the logger by importing the generated module @it-astro:logger:<name>:

injected-route.astro
---
import { logger } from '@it-astro:logger:your-integration';
logger.info('Hello World!');
---

License

Astro Runtime Logger is available under the MIT license.