UNPKG

@russ-b/nestjs-common-tools

Version:
62 lines 2.05 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createPinoLoggerModuleOptions = createPinoLoggerModuleOptions; const node_os_1 = require("node:os"); const nestjs_pino_1 = require("nestjs-pino"); const pino_1 = __importDefault(require("pino")); const DEFAULT_REDACT_PATHS = [ 'req.headers.authorization', 'req.headers.cookie', 'res.headers["set-cookie"]', ]; function createPinoLoggerModuleOptions(config) { const pinoHttp = { ...nestjs_pino_1.nativeLoggerOptions, level: config.level ?? 'debug', base: { pid: process.pid, hostname: (0, node_os_1.hostname)(), app: config.appName, version: config.version ?? 'unknown', env: config.environment ?? 'development', ...config.base, }, redact: { paths: config.redactPaths ?? DEFAULT_REDACT_PATHS, censor: '[REDACTED]', }, autoLogging: config.logHttpRequests ?? false, }; if (config.pretty) { delete pinoHttp.formatters; return { pinoHttp: { ...pinoHttp, transport: { target: 'pino-pretty', options: { colorize: true, ignore: 'pid,hostname,app,version,env', messageFormat: '[{context}] {message}', messageKey: 'message', singleLine: true, timestampKey: 'timestamp', translateTime: 'SYS:HH:MM:ss.l', }, }, }, }; } return { pinoHttp: { ...pinoHttp, stream: pino_1.default.destination({ sync: false, }), }, }; } //# sourceMappingURL=pino-logger.js.map