2

所以我想设置一个 nodejs 进程来监听和记录我的 Apache2 服务器的日志文件。我知道有一种方法可以将日志文件“管道”到脚本,但我似乎无法让它工作。

我创建了一个名为“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');
});

它只是将标准输入写入文本文件。

我还将我的 httpd.conf 设置设置为以下内容:

CustomLog |/tmp/noder logstash_json
  • 仅供参考:logstash_json 只是我创建的一种自定义格式,它可以记录到普通文件。

我在 httpd.conf 文件中尝试了各种不同的格式,但似乎没有任何效果。

谢谢!

4

1 回答 1

2

经过更多的工作并将我的头绑在桌子上,我终于想通了:

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

谢谢,

于 2012-12-19T12:17:25.073 回答