@zlattice/lattice-js
Version:
Lattice blockchain TypeScript SDK with dual module support (CJS + ESM)
54 lines • 1.8 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.log = void 0;
exports.configureLogger = configureLogger;
exports.getLogger = getLogger;
exports.createChildLogger = createChildLogger;
const pino_1 = __importDefault(require("pino"));
// Default options
const defaultOptions = {
level: process.env.LOG_LEVEL || "info", // trace, debug, info, warn, error, fatal
timestamp: pino_1.default.stdTimeFunctions.isoTime,
formatters: {
level: (label) => ({ level: label })
}
};
// Singleton logger instance
let logger = (0, pino_1.default)(defaultOptions, pino_1.default.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
function configureLogger(options) {
logger = (0, pino_1.default)({ ...defaultOptions, ...options });
return logger;
}
// Get current logger instance
function getLogger() {
return logger;
}
// Shortcut logging methods
exports.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)
function createChildLogger(context) {
return logger.child(context);
}
//# sourceMappingURL=logger.js.map