UNPKG

@sentzunhat/zacatl

Version:

A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.

49 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPinoConfig = void 0; const createPinoConfig = (options) => { const env = options?.env ?? process.env['NODE_ENV'] ?? 'development'; const isPretty = env !== 'production'; const transport = isPretty ? { target: 'pino-pretty', options: { colorize: true, }, } : undefined; const baseConfig = { level: process.env['LOG_LEVEL'] ?? 'info', ...(transport ? { transport } : {}), formatters: { bindings: (bindings) => { return { pid: bindings['pid'], service: options?.serviceName ?? process.env['SERVICE_NAME'] ?? 'zacatl', environment: env, app: { version: options?.appVersion ?? process.env['APP_VERSION'] ?? '0.0.0', environment: options?.appEnv ?? process.env['APP_ENV'] ?? env, }, host: bindings['hostname'], }; }, level: (label) => { return { level: label.toLowerCase() }; }, }, }; if (options !== undefined && 'pinoConfig' in options && options.pinoConfig !== undefined) { return { ...baseConfig, ...options.pinoConfig, formatters: { ...baseConfig.formatters, ...(options.pinoConfig.formatters ?? {}), }, }; } return baseConfig; }; exports.createPinoConfig = createPinoConfig; //# sourceMappingURL=config.js.map