我正在尝试使用 Winston 创建日志,但它没有写入文件。
我在controllers/myControler/myFile.js中有以下文件
const path = require('path');
const winston = require('winston');
const filename = path.join(__dirname, 'testLog.log');
const logger = winston.createLogger({
transports: [
new winston.transports.Console({ filename, level: 'error' })
]
});
exports.test = async (req, res, next) => {
logger.log({
level: 'error',
message: 'Test'
});
}
我的项目根目录中有 testLog.log 文件。
当我运行应用程序时,我可以在终端中看到:
{"level":"error","message":"Test"}
然而,testLog.log 文件仍然是空的。
谢谢
答案 0 :(得分:1)
new winston.transports.Console
不接受 filename
选项。
您必须为您的 File
附加 logger
传输。
const logger = winston.createLogger({
transports: [
new winston.transports.Console({ level: 'error' }),
// new line
new winston.transports.File({ filename, level: 'error' }),
]
});