Не эксперт узла, и это первый раз, когда я использую log4js -node.log4js-node в nodejs не регистрируется в файле
Я пытаюсь получить журналы ERROR и любой из моих консольных журналов для записи в файл 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": "[email protected]",
"sender": "[email protected]",
"sendInterval": 60,
"transport": "SMTP",
"SMTP": {
"host": "localhost",
"port": 25
}
}
}]
}`
А вот как я требую приложений в моем app.js файла:
var log4js = require("log4js");
log4js.configure("log_config.json")
logger = log4js.getLogger();
Я посылаю вручную ошибки в log4js с этим (I может получить это войти в консоли штраф, просто не может получить LOG_FILE письменный):
logger.error('A mandrill error occurred: ' + e.name + ' - ' + e.message);
И я надеюсь, что jog4js ловит нормальные сообщения об ошибках приложения.
Как я могу получить log4js для входа в log_file.log, они отправляют мне электронное письмо этого журнала? Я установил nodemailer 0.7, fyi, чтобы обрабатывать smtp.
Как предлагает Allenzzzxd, удалите «категорию». Во всяком случае, это решило проблему. Если я не ошибаюсь, категория предназначена для тех случаев, когда вы хотите выбрать различные механизмы ведения журналов для разных случаев, поэтому вы можете сделать log4js.getLogger () .log () или тому подобное. –