-
Notifications
You must be signed in to change notification settings - Fork 0
/
logger.js
28 lines (23 loc) · 797 Bytes
/
logger.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const winston = require('winston');
const path = require('path');
const fs = require('fs');
const isSnapshot = process.pkg !== undefined;
const logDir = isSnapshot ? path.join(path.dirname(process.execPath), 'logs') : path.join(__dirname, 'logs');
if (!fs.existsSync(logDir)) {
fs.mkdirSync(logDir);
}
const logFile = path.join(logDir, `${Date.now()}.txt`);
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.printf(({ timestamp, level, message }) => {
return `${timestamp} [${level.toUpperCase()}]: ${message}`;
})
),
transports: [
new winston.transports.Console(),
new winston.transports.File({ filename: logFile })
]
});
module.exports = logger;