Я хочу регистрировать ошибки в файле в приложении, созданном с помощью nodeJS и Express.После нескольких поисков я обнаружил, что Winston - хорошая библиотека для этого.Я нашел этот учебник .
Но когда я пытаюсь winston.error('test')
, сообщение появляется в консоли, но файл журнала не создается (поэтому в нем ничего нет).Я искал на этом сайте и нашел этот вопрос , который похож на мой, но я не могу определить разницу между ответом и моим кодом.
Это мой код:
// src/config/winston.js
const appRoot = require('app-root-path')
const winston = require('winston')
let options = {
file: {
level: 'error',
filename: `${appRoot}/logs/error.log`,
handleExceptions: true,
json: true,
maxsize: 5242880, // 5MB
maxFiles: 5,
colorize: false,
},
console: {
level: 'debug',
handleExceptions: true,
json: false,
colorize: true,
},
}
let logger = winston.createLogger({
transports: [
new winston.transports.File(options.file),
new winston.transports.Console(options.console)
],
exitOnError: false, // do not exit on handled exceptions
})
logger.stream = {
write: function(message, encoding) {
logger.error(message);
},
}
module.exports = logger
Я сделал это, чтобы попробовать:
// src/api/meal_validation.js
...
winston.error('test')
...