Files
Exchange/server/api/logger.ts
2025-11-07 22:24:40 +01:00

49 lines
1.4 KiB
TypeScript
Executable File

import * as winston from 'winston'
const { combine, timestamp, label, prettyPrint, colorize, json, splat } = winston.format
/// /////////////////////////////////////////////////////////////////////////////
/// ///////////////////////Winston Logger///////////////////////////////////////
/// ////////////////////////////////////////////////////////////////////////////
export const logger = winston.createLogger({
exitOnError: false,
format: combine(
timestamp(),
prettyPrint(),
colorize(),
splat()
),
level: 'info',
// format: winston.format.json(),
// defaultMeta: { service: 'user-service' },
transports: [
//
// - Write to all logs with level `info` and below to `combined.log`
// - Write all logs error (and below) to `error.log`.
//
new winston.transports.File({ filename: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
],
exceptionHandlers: [
new winston.transports.File({ filename: 'exceptions.log' })
]
})
// if (process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'development') {
logger.add(new winston.transports.Console({
format: winston.format.simple()
}))
// }
// logger.stream = {
// write: function (message: string, encoding: any) {
// logger.info(message)
// }
// }
export class LoggerStream {
write(message: string) {
logger.info(message);
}
}
//module.exports = logger