First commit merge
This commit is contained in:
40
utils/logger.js
Normal file
40
utils/logger.js
Normal file
@@ -0,0 +1,40 @@
|
||||
import winston from "winston";
|
||||
import config from "config";
|
||||
|
||||
// Create logs directory if it doesn't exist
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
const logDir = path.dirname(config.get("logging.file"));
|
||||
|
||||
if (!fs.existsSync(logDir)) {
|
||||
fs.mkdirSync(logDir, { recursive: true });
|
||||
}
|
||||
|
||||
// Create logger instance
|
||||
const Logger = winston.createLogger({
|
||||
level: config.get("logging.level"),
|
||||
format: winston.format.combine(
|
||||
winston.format.timestamp(),
|
||||
winston.format.errors({ stack: true }),
|
||||
winston.format.json(),
|
||||
),
|
||||
defaultMeta: { service: "nexusvoice-sbc" },
|
||||
transports: [
|
||||
// File transport
|
||||
new winston.transports.File({
|
||||
filename: config.get("logging.file"),
|
||||
maxsize: config.get("logging.maxSize"),
|
||||
maxFiles: config.get("logging.maxFiles"),
|
||||
tailable: true,
|
||||
}),
|
||||
// Console transport for development
|
||||
new winston.transports.Console({
|
||||
format: winston.format.combine(
|
||||
winston.format.colorize(),
|
||||
winston.format.simple(),
|
||||
),
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
export default Logger;
|
||||
Reference in New Issue
Block a user