init
This commit is contained in:
40
lib/logger.ts
Normal file
40
lib/logger.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
import * as fs from 'fs';
|
||||
import * as winston from 'winston';
|
||||
import 'winston-daily-rotate-file';
|
||||
|
||||
const logDir: string = process.env.LOG_DIR || 'log';
|
||||
|
||||
if (!fs.existsSync(logDir)) {
|
||||
fs.mkdirSync(logDir, { recursive: true });
|
||||
}
|
||||
|
||||
const fileTransport = new winston.transports.DailyRotateFile({
|
||||
filename: `${logDir}/%DATE%-results.log`,
|
||||
datePattern: 'YYYY-MM-DD',
|
||||
zippedArchive: true,
|
||||
maxSize: '20m',
|
||||
maxFiles: '3d',
|
||||
level: 'info',
|
||||
});
|
||||
|
||||
const logger: winston.Logger = winston.createLogger({
|
||||
level: 'debug',
|
||||
format: winston.format.combine(
|
||||
winston.format.timestamp({
|
||||
format: 'YYYY-MM-DD HH:mm:ss'
|
||||
}),
|
||||
winston.format.json()
|
||||
),
|
||||
transports: [
|
||||
fileTransport,
|
||||
new winston.transports.Console({
|
||||
level: 'debug',
|
||||
format: winston.format.combine(
|
||||
winston.format.colorize(),
|
||||
winston.format.simple()
|
||||
)
|
||||
})
|
||||
]
|
||||
});
|
||||
|
||||
export default logger;
|
||||
Reference in New Issue
Block a user