Node.js 如何使用winston日志文件将信息消息和错误消息存储在单独的文件中?
我试图使用winston.If.info.log在日志文件中记录信息和错误。如果发生未捕获的异常错误,则只存储error.log文件。但如果发生常见错误,则同时存储info.log和error.log两个文件。如何修复任何一个文件,请给出一些解决方案 winston.jsNode.js 如何使用winston日志文件将信息消息和错误消息存储在单独的文件中?,node.js,winston,Node.js,Winston,我试图使用winston.If.info.log在日志文件中记录信息和错误。如果发生未捕获的异常错误,则只存储error.log文件。但如果发生常见错误,则同时存储info.log和error.log两个文件。如何修复任何一个文件,请给出一些解决方案 winston.js const winston = require('winston'); require('winston-mongodb'); require('express-async-errors'); const winstonLo
const winston = require('winston');
require('winston-mongodb');
require('express-async-errors');
const winstonLogger = function () {
winston.add(new winston.transports.Console({
format: winston.format.combine(
winston.format.simple(),
winston.format.timestamp(),
winston.format.prettyPrint(),
winston.format.colorize()
),
handleExceptions: true
}));
// Info Log messages to file
winston.add(new winston.transports.File({
filename: 'logs/info.log',
level: 'info'
}));
// Error Log Messages file
winston.add(new winston.transports.File({
filename: 'logs/error.log',
level: 'error',
handleExceptions: true,
}));
};
module.exports = winstonLogger;
我希望信息消息存储在info.log文件中,错误消息存储在error.log文件中。未捕获异常错误使用winston存储在单独的文件中winston日志记录基于您指定的级别。低于该级别的所有日志都将转到指定的文件 日志记录级别0到5(最高到最低): 下面是winston文档中的示例代码:
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
defaultMeta: { service: 'user-service' },
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: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});
我尝试了,但错误消息存储在两个文件中,我只想存储错误。LogYea由于错误是最高级别,它将所有级别记录到error.log。可以尝试使用自定义级别并记录最低自定义级别的错误。const MyCustomLevel={级别:{foo:0,bar:1,baz:2,foobar:3};const customlevelogger=winston.createLogger({levels:myCustomLevels.levels});
const logger = winston.createLogger({
level: 'info',
format: winston.format.json(),
defaultMeta: { service: 'user-service' },
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: 'error.log', level: 'error' }),
new winston.transports.File({ filename: 'combined.log' })
]
});