【问题标题】:Aggregate logs and write to files later without directly writing to files聚合日志并稍后写入文件,而不直接写入文件
【发布时间】:2017-07-02 16:34:45
【问题描述】:

目前我已经实现了 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 来支持上述功能。

【问题讨论】:

    标签: javascript node.js logging redis log4js-node


    【解决方案1】:

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

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

    【讨论】:

    • 真的,我找到了一个增加了对这个的支持的包,但是请注意如何配置这个logstash服务器配置,如果你知道请告诉我。感谢您的宝贵意见github.com/beyond5959/log4js-logstash-redis
    猜你喜欢
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    相关资源
    最近更新 更多