UNPKG

@hestjs/logger

Version:

HestJS Logger - A powerful logging solution based on Pino

82 lines 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TEST_CONFIG = exports.PRODUCTION_CONFIG = exports.DEVELOPMENT_CONFIG = exports.DEFAULT_CONFIG = void 0; exports.getEnvironmentConfig = getEnvironmentConfig; exports.createConfigFromEnv = createConfigFromEnv; exports.mergeConfig = mergeConfig; const types_1 = require("./types"); /** * 默认日志配置 */ exports.DEFAULT_CONFIG = { level: types_1.LogLevel.INFO, timestamp: true, name: "HestJS", messageKey: "msg", errorKey: "err", base: { pid: process.pid, hostname: require("os").hostname(), }, }; /** * 开发环境配置 */ exports.DEVELOPMENT_CONFIG = { level: types_1.LogLevel.DEBUG, // 不在这里设置 transport,让 factory 使用 transports.ts 中的配置 }; /** * 生产环境配置 */ exports.PRODUCTION_CONFIG = { level: types_1.LogLevel.INFO, redact: ["password", "token", "authorization", "cookie"], }; /** * 测试环境配置 */ exports.TEST_CONFIG = { level: types_1.LogLevel.WARN, }; /** * 根据环境获取配置 */ function getEnvironmentConfig(env) { const environment = env || process.env.NODE_ENV || "development"; switch (environment) { case "production": case "prod": return exports.PRODUCTION_CONFIG; case "test": case "testing": return exports.TEST_CONFIG; case "development": case "dev": default: return exports.DEVELOPMENT_CONFIG; } } /** * 从环境变量创建配置 */ function createConfigFromEnv() { const env = process.env; const config = {}; if (env.LOG_LEVEL) { config.level = env.LOG_LEVEL; } if (env.LOG_NAME) { config.name = env.LOG_NAME; } return config; } /** * 合并配置 */ function mergeConfig(...configs) { return configs.reduce((merged, config) => ({ ...merged, ...config }), { ...exports.DEFAULT_CONFIG, }); } //# sourceMappingURL=config.js.map