gpt4 book ai didi

javascript - 聚合日志并稍后写入文件,而无需直接写入文件

转载 作者:可可西里 更新时间:2023-11-01 11:17:59 24 4
gpt4 key购买 nike

目前我已经实现了 express.js 应用程序,并且添加了 log4js 记录器用于记录。现在我想将日志写入 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 以支持上述功能。

最佳答案

不确定执行此操作的正确方法,但似乎您必须编写一个写入 redis 的自定义附加程序。

built-in appenders 的示例log4js 在 github 上。

关于javascript - 聚合日志并稍后写入文件,而无需直接写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42225270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com