Files
lcbp3/backend/src/modules/monitoring/logger/winston.config.ts
2025-11-24 17:01:58 +07:00

31 lines
1.1 KiB
TypeScript

// File: src/modules/monitoring/logger/winston.config.ts
import {
utilities as nestWinstonUtilities,
WinstonModuleOptions,
} from 'nest-winston';
import * as winston from 'winston';
/**
* ฟังก์ชันสร้าง Configuration สำหรับ Winston Logger
* - Development: แสดงผลแบบ Console อ่านง่าย
* - Production: แสดงผลแบบ JSON พร้อม Timestamp เพื่อการทำ Log Aggregation
*/
export const winstonConfig: WinstonModuleOptions = {
transports: [
new winston.transports.Console({
format: winston.format.combine(
winston.format.timestamp(),
winston.format.ms(),
// เลือก Format ตาม Environment
process.env.NODE_ENV === 'production'
? winston.format.json() // Production ใช้ JSON
: nestWinstonUtilities.format.nestLike('LCBP3-DMS', {
prettyPrint: true,
colors: true,
}),
),
}),
// สามารถเพิ่ม File Transport หรือ HTTP Transport ไปยัง Log Server ได้ที่นี่
],
};