2

そこで、Apache2 サーバーのログ ファイルをリッスンして記録するように nodejs プロセスをセットアップしたいと考えています。ログファイルをスクリプトに「パイプ」する方法があることは知っていますが、うまくいかないようです。

次のコードを含む「noder」というファイルを作成しました。

#!/usr/local/bin/node

var stdin  = process.stdin;
var fs     = require('fs');

stdin.resume();

stdin.on('data', function (chunk) {
     fs.writeFileSync('./output.log',chunk.toString());
}).on('end', function () {
     console.log('stdin:closed exiting');
});

stdin をテキスト ファイルに書き込むだけです。

また、httpd.conf 設定を次のように設定しました。

CustomLog |/tmp/noder logstash_json
  • fyi: logstash_json は私が作成した単なるカスタム形式であり、通常のファイルにログを記録します。

httpd.conf ファイルであらゆる種類のさまざまな形式を試しましたが、何も機能していないようです。

ありがとう!

4

1 に答える 1

2

机の上で頭を抱えてさらに作業を重ねた後、私はついにそれを理解しました:

CustomLog "|/usr/local/bin/node /nodelogger/noder" logstash_json

ありがとう、

于 2012-12-19T12:17:25.073 に答える