You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
869 B
JavaScript
23 lines
869 B
JavaScript
4 years ago
|
const winston = require('winston');
|
||
|
|
||
|
let debugMode = process.env.YTDL_MODE === 'debug';
|
||
|
|
||
|
const defaultFormat = winston.format.printf(({ level, message, label, timestamp }) => {
|
||
|
return `${timestamp} ${level.toUpperCase()}: ${message}`;
|
||
|
});
|
||
|
const logger = winston.createLogger({
|
||
|
level: 'info',
|
||
|
format: winston.format.combine(winston.format.timestamp(), defaultFormat),
|
||
|
defaultMeta: {},
|
||
|
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: 'appdata/logs/error.log', level: 'error' }),
|
||
|
new winston.transports.File({ filename: 'appdata/logs/combined.log' }),
|
||
|
new winston.transports.Console({level: !debugMode ? 'info' : 'debug', name: 'console'})
|
||
|
]
|
||
|
});
|
||
|
|
||
|
module.exports = logger;
|