log4js-узел в nodejs не входит в файл
Не эксперт по узлам, и я впервые использую log4js -node.
Я пытаюсь получить мои журналы ОШИБКИ и любые из моих журналов консоли для записи в файл log_file.log с log4js на сервере nodejs под управлением Express. Вот мой конфигурационный файл:`
{
"replaceConsole": true,
"appenders": [
{
"type": "file",
"filename":"log_file.log",
"maxLogSize":20480,
"backups": 3,
"category":"relative-logger"
},
{
"type":"logLevelFilter",
"level":"ERROR",
"appender":{
"type":"file",
"filename":"log_file.log"
}
},
{
"appender": {
"type": "smtp",
"recipients": "myemail@gmail.com",
"sender": "myemailadd@gmail.com",
"sendInterval": 60,
"transport": "SMTP",
"SMTP": {
"host": "localhost",
"port": 25
}
}
}]
}`
И вот как мне требуется приложение в моем файле app.js:
var log4js = require("log4js");
log4js.configure("log_config.json")
logger = log4js.getLogger();
Я посылаю ручные ошибки в log4js с этим (я могу получить это, чтобы нормально войти в консоль, просто не могу записать log_file):
logger.error('A mandrill error occurred: ' + e.name + ' - ' + e.message);
И я надеюсь, что jog4js ловит нормальные сообщения об ошибках приложения.
Как я могу получить log4js для входа в log_file.log, прислать мне электронное письмо с этим журналом? Я установил nodemailer 0.7, к вашему сведению, для обработки SMTP.
2 ответа
Может быть, вы могли бы удалить "category":"relative-logger"
в вашем файле appender.
Да, удалите "category":"lative-logger", это как-то блокирует передачу данных в ваш лог-файл. Или попробуйте что-то вроде этого:
// Setup Logging
log4js.configure({
appenders: [
{ type: 'console' },
{ type: 'file', filename: '.\\logs\\PesaFastaArchiveData.log' }
]
});
Путь, конечно, путь Windows.