Files
RSSHub/lib/utils/logger.js

35 lines
1.0 KiB
JavaScript

const { resolve } = require('path');
const winston = require('winston');
const config = require('@/config').value;
const logger = winston.createLogger({
level: config.loggerLevel,
format: winston.format.json(),
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: resolve('logs/error.log'),
level: 'error',
}),
new winston.transports.File({ filename: resolve('logs/combined.log') }),
],
});
//
// If we're not in production then log to the `console` with the format:
// `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
//
if (!config.isPackage) {
logger.add(
new winston.transports.Console({
format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
silent: process.env.NODE_ENV === 'test',
})
);
}
module.exports = logger;