我有一个相当直接的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
具有与当时文件记录器相同的行为,只有记录设置的特定级别。