我將 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();
}
我嘗試在網上搜索,但根據檔案應該可以作業,所以我不知道出了什么問題,因為它是唯一不作業的日志。
uj5u.com熱心網友回復:
createLogger()levels根據選項中的物件創建日志級別方法。在config.syslog.levels水平上被稱為warning不warn。
所以呼叫的方法應該是:log.warning('Twilio validation is not active!');
有一個未解決的問題要求實施warn()作為 syslog 警告級別的便捷方法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/434103.html
標籤:javascript 日志记录 温斯顿
上一篇:為什么這只是旋轉而不向右移動?
