Pino Reporter
Emigrate’s reporter that uses Pino as the logger.
This is useful in production environments where you want all logs as JSON, which is suitable for log aggregators/shippers.
Installation
npm install @emigrate/reporter-pino
pnpm add @emigrate/reporter-pino
yarn add @emigrate/reporter-pino
bun add @emigrate/reporter-pino
{ "dependencies": { "@emigrate/reporter-pino": "*" }}
Usage
Via CLI
npx emigrate <command> --reporter pino
pnpm emigrate <command> --reporter pino
yarn emigrate <command> --reporter pino
bunx --bun emigrate <command> --reporter pino
{ "scripts": { "emigrate": "emigrate" }}
deno task emigrate <command> --reporter pino
See for instance the Reporter Option for the up
command for more information.
Via configuration file
/** @type {import('@emigrate/cli').EmigrateConfig} */export default { reporter: 'pino',};
import { type EmigrateConfig } from '@emigrate/cli';
const config: EmigrateConfig = { reporter: 'pino',};
export default config;
See Reporter Configuration for more information.
Example output
{"level":30,"time":1702907697803,"scope":"list","version":"0.10.0","name":"emigrate","parameters":{"cwd":"/your/project/dir","dry":false,"directory":"migration-folder"},"msg":"Emigrate \"list\" initialized"}{"level":30,"time":1702907697836,"scope":"list","version":"0.10.0","name":"emigrate","migrationCount":1,"msg":"1 pending migrations to run"}{"level":30,"time":1702907697836,"scope":"list","version":"0.10.0","name":"emigrate","migration":"migration-folder/20231218135441244_create_some_table.sql","msg":"20231218135441244_create_some_table.sql (pending)"}{"level":30,"time":1702907697836,"scope":"list","version":"0.10.0","name":"emigrate","result":{"failed":0,"done":0,"skipped":0,"pending":1,"total":1},"msg":"Emigrate \"list\" finished successfully"}