Integrate pino-loki with AdonisJS
devSince AdonisJS uses Pino as its default logger, you can integrate pino-loki by adding it as a transport in your config/logger.ts file.
import type { LokiOptions } from 'pino-loki'
import app from '@adonisjs/core/services/app'
import { defineConfig, targets } from '@adonisjs/core/logger'
import env from '#start/env'
const loggerConfig = defineConfig({
default: 'app',
loggers: {
app: {
enabled: true,
name: env.get('APP_NAME'),
level: env.get('LOG_LEVEL'),
transport: {
targets: targets()
.push({
target: 'pino-loki',
options: {
labels: { application: 'MY-APP' },
host: env.get('LOKI_HOST'),
basicAuth: {
username: env.get('LOKI_USERNAME'),
password: env.get('LOKI_PASSWORD'),
},
} satisfies LokiOptions,
})
.toArray(),
},
},
},
})