UNPKG

@zlattice/lattice-js

Version:

Lattice blockchain TypeScript SDK with dual module support (CJS + ESM)

45 lines 1.39 kB
import pino from 'pino'; // Default options const defaultOptions = { level: process.env.LOG_LEVEL || "info", // trace, debug, info, warn, error, fatal timestamp: pino.stdTimeFunctions.isoTime, formatters: { level: (label) => ({ level: label }) } }; // Singleton logger instance let logger = pino(defaultOptions, pino.transport({ target: "@jvddavid/pino-rotating-file", options: { path: "./logs", pattern: "log-%Y-%M-%d-%N.log", maxSize: 1024 * 1024 * 10, sync: false, fsync: false, append: true, mkdir: true } })); // Initialize or reconfigure logger export function configureLogger(options) { logger = pino({ ...defaultOptions, ...options }); return logger; } // Get current logger instance export function getLogger() { return logger; } // Shortcut logging methods export const log = { trace: (msg, ...args) => logger.trace(msg, ...args), debug: (msg, ...args) => logger.debug(msg, ...args), info: (msg, ...args) => logger.info(msg, ...args), warn: (msg, ...args) => logger.warn(msg, ...args), error: (msg, ...args) => logger.error(msg, ...args), fatal: (msg, ...args) => logger.fatal(msg, ...args) }; // Create child logger (supports context) export function createChildLogger(context) { return logger.child(context); } //# sourceMappingURL=logger.js.map