UNPKG

create-midnight-app

Version:

🌙 Scaffold for building Midnight smart contracts with dynamic type detection and automated CLI generation

28 lines (26 loc) • 786 B
import * as path from 'node:path'; import * as fs from 'node:fs/promises'; import pinoPretty from 'pino-pretty'; import pino from 'pino'; import { createWriteStream } from 'node:fs'; export const createLogger = async (logPath: string): Promise<pino.Logger> => { await fs.mkdir(path.dirname(logPath), { recursive: true }); const pretty: pinoPretty.PrettyStream = pinoPretty({ colorize: true, sync: true, }); const level = process.env.DEBUG_LEVEL !== undefined && process.env.DEBUG_LEVEL !== null && process.env.DEBUG_LEVEL !== '' ? process.env.DEBUG_LEVEL : 'info'; return pino( { level, depthLimit: 20, }, pino.multistream([ { stream: pretty, level }, { stream: createWriteStream(logPath), level }, ]), ); };