我有一个相当直接的 winston 设置,我将 3 个传输添加到自定义记录器:
import winston from 'winston';
import Logentries from 'winston-logentries';
const logger = new (winston.Logger)();
logger.add(winston.transports.Console, {
name: 'info-console',
level: 'info',
prettyPrint: true,
colorize: true,
silent: false,
timestamp: false,
});
logger.add(winston.transports.File, {
name: 'error-file',
prettyPrint: false,
level: 'warn',
silent: false,
colorize: false,
timestamp: true,
filename: `${__dirname}/../logs/error.log`,
maxsize: 40000,
maxFiles: 10,
json: false,
});
logger.add(winston.transports.Logentries, {
token: '--secret--',
level: 'warn',
});
export default logger;
日志记录确实不可靠。过去,我遇到了文件记录器的问题,要么只记录警告,要么记录我为该传输设置的级别的错误(而不是,当我将级别设置为警告时,记录错误和警告)。有时它也不会记录任何东西,但这似乎是一个不同的故事。那时我还没有第三个传输(Logentries
),现在文件记录器更好,除了有时不记录任何东西,但Logentries
与当时的文件记录器具有相同的行为,只记录设置的特定级别。