31 lines
1.1 KiB
TypeScript
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 ได้ที่นี่
|
|
],
|
|
};
|