2017-02-14 15 views
0

現在、私はexpress.jsアプリケーションを実装しており、ログ用にlog4jsログを追加しました。今度は、ログをRedisに書き込んだ後、Redis Listからログを引き出し、それらのログをローカルログファイルに書き込むバックグラウンドワーカーを作成したかったのです。ファイルに直接書き込むことなく、後でログを集計してファイルに書き込む

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を追加する方法を知りたいです。

答えて

1

これを行う正しい方法はわかりませんが、あなたはredisに書き込むカスタムアペンダーを書く必要があるようです。

log4jsのbuilt-in appendersの例はgithubにあります。

+0

本当に、私はこのサポートを追加したパッケージを見つけましたが、このlogstashサーバーconfを構成する方法を確認してください。貴重なご意見ありがとうございます https://github.com/beyond5959/log4js-logstash-redis –

関連する問題