refactor: update winston logger configuration for environment-based logging

This commit is contained in:
faris Aljohari
2025-05-02 02:28:01 +03:00
parent 25403d5e19
commit 0fcd974af2

View File

@ -1,26 +1,43 @@
import { utilities as nestWinstonModuleUtilities } from 'nest-winston'; import { utilities as nestWinstonModuleUtilities } from 'nest-winston';
import * as winston from 'winston'; import * as winston from 'winston';
const environment = process.env.NODE_ENV || 'local';
export const winstonLoggerOptions: winston.LoggerOptions = { export const winstonLoggerOptions: winston.LoggerOptions = {
level: level:
process.env.AZURE_POSTGRESQL_DATABASE === 'development' ? 'debug' : 'error', environment === 'local'
? 'debug'
: environment === 'development'
? 'warn'
: 'error',
transports: [ transports: [
new winston.transports.Console({ new winston.transports.Console({
level:
environment === 'local'
? 'debug'
: environment === 'development'
? 'warn'
: 'error',
format: winston.format.combine( format: winston.format.combine(
winston.format.timestamp(), winston.format.timestamp(),
nestWinstonModuleUtilities.format.nestLike('MyApp', { nestWinstonModuleUtilities.format.nestLike('MyApp', {
prettyPrint: true, prettyPrint: environment === 'local',
}), }),
), ),
}), }),
new winston.transports.File({ // Only create file logs if NOT local
filename: 'logs/error.log', ...(environment !== 'local'
level: 'error', ? [
format: winston.format.json(), new winston.transports.File({
}), filename: 'logs/error.log',
new winston.transports.File({ level: 'error',
filename: 'logs/combined.log', format: winston.format.json(),
format: winston.format.json(), }),
}), new winston.transports.File({
filename: 'logs/combined.log',
level: 'info',
format: winston.format.json(),
}),
]
: []),
], ],
}; };