So I want to setup a nodejs process to listen and record the log files of my Apache2 server. I know there is a way to 'pipe' the log file to a script, but I cant seem to get it to work.
I have created a file called 'noder' which has the following code:
#!/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');
});
It simply writes the stdin to a text file.
I also set my httpd.conf setting to the following:
CustomLog |/tmp/noder logstash_json
I have tried all kinds of different formats in the httpd.conf file and nothing seems to work.
Thanks!
After some more working and banding my head on the desk, I finally figured it out:
CustomLog "|/usr/local/bin/node /nodelogger/noder" logstash_json
Thanks,