UNPKG

blanc-logger

Version:

Advanced Winston logger for NestJS & TypeORM with structured logging.

30 lines (29 loc) 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setLoggingConfig = exports.LOGGING_CONFIG = void 0; const fs = require("fs"); const yaml = require("js-yaml"); const path = require("path"); /** 기본 로그 설정값을 정의 */ const DEFAULT_LOGGING_CONFIG = { LOG_DIR: 'logs', CONSOLE_LOG_LEVEL: 'info', FILE_LOG_LEVEL: 'error', ROTATION_DAYS: '30d', MAX_FILE_SIZE: '20m', }; /** 지정된 YAML 파일에서 사용자 로그 설정을 로드하여 부분 설정 객체를 반환 */ function loadUserConfig(configFileName = 'logger-config.yaml') { const configPath = path.resolve(process.cwd(), configFileName); if (!fs.existsSync(configPath)) return {}; const fileContents = fs.readFileSync(configPath, 'utf8'); return yaml.load(fileContents); } /** 기본 설정과 사용자 설정을 병합하여 최종 로그 설정을 생성 */ exports.LOGGING_CONFIG = Object.assign(Object.assign({}, DEFAULT_LOGGING_CONFIG), loadUserConfig()); /** 전달받은 사용자 설정과 기본 설정을 병합하여 로그 설정을 업데이트 */ function setLoggingConfig(userConfig) { exports.LOGGING_CONFIG = Object.assign(Object.assign({}, DEFAULT_LOGGING_CONFIG), userConfig); } exports.setLoggingConfig = setLoggingConfig;