В настоящее время я реализовал приложение express.js, и я добавил log4js logger для ведения журнала. Теперь я хотел записать журналы в Redis, а затем в фоновый рабочий, который непрерывно выводит журналы из списка Redis и записывает эти журналы в файлы локального журнала.Совокупные журналы и запись в файлы позже без прямой записи в файлы
App.js будет выглядеть следующим образом
import { getLogger, configure } from 'log4js';
import {initServer} from './middleware/Express'
import { initRoutes } from './routes/RouterAggregator';
configure('./src/config/log4js-config.json');
const logger = getLogger("app");
const init =()=> {
logger.info("Initializing Application");
initServer();
initRoutes();
};
Срубы конфигурационный файл будет выглядеть следующим образом.
{
"appenders": [
{
"type": "console",
"layout": {
"type": "pattern",
"pattern": "[%d] [%[%p%]] %c {%x{ln}} - %m",
"tokens": {
"ln" : "loggerFunction()"
}
}
},
{
"type": "dateFile",
"filename": "log/access.log",
"pattern": "-yyyy-MM-dd",
"alwaysIncludePattern": false,
"category": "http",
"layout": {
"type" : "pattern",
"pattern": "[%d] [%p] %c {%x{ln}} - %m",
"tokens": {
"ln" : "loggerFunction()"
}
}
},
{
"type": "dateFile",
"filename": "log/app.log",
"maxLogSize": 10485760,
"numBackups": 3,
"alwaysIncludePattern": false,
"layout": {
"type" : "pattern",
"pattern": "[%d] [%p] %c {%x{ln}} - %m",
"tokens": {
"ln" : "loggerFunction()"
}
}
},
{
"type": "logLevelFilter",
"level": "ERROR",
"appender": {
"type": "file",
"filename": "log/errors.log"
},
"layout": {
"type" : "pattern",
"pattern": "[%d] [%p] %c {%x{ln}} - %m",
"tokens": {
"ln" : "loggerFunction()"
}
}
}
]
}
Я хочу знать, как добавить Redis для поддержки упомянутых выше функций.
Верно, я нашел пакет, который добавил поддержку для этого, но обратите внимание, как настроить этот протокол conf, если вы знаете, пожалуйста, дайте мне знать. Спасибо за ваш ценный вклад https://github.com/beyond5959/log4js-logstash-redis –