Winston 记录器错误 logger.default.warn 不是函数
Winston logger error logger.default.warn is not a function
我将 Winston 记录器添加到我的 JS 应用程序,所有日志都有效,但没有警告。
我不知道为什么。
每次尝试使用 .warn(warning)
作为
时的错误
TypeError: _logger.default.warn is not a function
我的记录器是在这个辅助实用程序中完成的
import { config, createLogger, format, transports } from 'winston';
const { printf, combine, timestamp, colorize } = format;
// don't show console logs in test mode
const transport =
process.env.NODE_ENV !== 'test' ? [new transports.Console()] : [];
export default createLogger({
levels: config.syslog.levels,
level: 'info',
format: combine(
timestamp(),
printf((info) => `[${info.timestamp}][${info.level}]: ${info.message}`),
colorize({ all: true })
),
transports: [
...transport,
new transports.File({ filename: 'logs/error.log', level: 'error' }),
new transports.File({ filename: 'logs/application.log' }),
],
});
我在 if 语句下使用了
if ( validation === 'false' ) {
log.warn('Twilio validation is not active!'); // Here the error occur
return next();
}
我尝试 google 在线,但根据文档应该可以,所以我不知道出了什么问题,因为它是唯一不起作用的日志。
createLogger()
根据选项中的 levels
对象创建日志级别方法。在 config.syslog.levels
中,级别称为 warning
而不是 warn
。
所以调用的方法应该是:log.warning('Twilio validation is not active!');
有一个 open issue 请求实施 warn()
作为系统日志警告级别的便捷方法。
我将 Winston 记录器添加到我的 JS 应用程序,所有日志都有效,但没有警告。 我不知道为什么。
每次尝试使用 .warn(warning)
作为
TypeError: _logger.default.warn is not a function
我的记录器是在这个辅助实用程序中完成的
import { config, createLogger, format, transports } from 'winston';
const { printf, combine, timestamp, colorize } = format;
// don't show console logs in test mode
const transport =
process.env.NODE_ENV !== 'test' ? [new transports.Console()] : [];
export default createLogger({
levels: config.syslog.levels,
level: 'info',
format: combine(
timestamp(),
printf((info) => `[${info.timestamp}][${info.level}]: ${info.message}`),
colorize({ all: true })
),
transports: [
...transport,
new transports.File({ filename: 'logs/error.log', level: 'error' }),
new transports.File({ filename: 'logs/application.log' }),
],
});
我在 if 语句下使用了
if ( validation === 'false' ) {
log.warn('Twilio validation is not active!'); // Here the error occur
return next();
}
我尝试 google 在线,但根据文档应该可以,所以我不知道出了什么问题,因为它是唯一不起作用的日志。
createLogger()
根据选项中的 levels
对象创建日志级别方法。在 config.syslog.levels
中,级别称为 warning
而不是 warn
。
所以调用的方法应该是:log.warning('Twilio validation is not active!');
有一个 open issue 请求实施 warn()
作为系统日志警告级别的便捷方法。