[英]NodeJS - how to write to a file all the console.log?
在我的CentOS 7.x服務器上,我正在運行Node(v6.7.0和v0.10.36)。
forever start /home/www/html/server/mynode.js
運行如下:
/usr/bin/node /home/www/html/server/mynode.js
mynode.js的代碼:
var http = require('http');
var net = require('net');
var url = require('url');
var io = require('socket.io').listen(3004);
io.set('log level', 1);
io.sockets.on('connection', function (socket) {
socket.on('disconnect', function () {
try{
console.log(JSON.stringify(db));
} catch(dis) {
console.log(dis);
}
});
});
我如何告訴NodeJS或Linux保持日志? 所以我可以通過tail -f /var/log/mynode.log
來了解最新情況。
您可以覆蓋console.log
var fs = require('fs');
var trueLog = console.log;
console.log = function(msg) {
fs.appendFile("/tmp/log.log", msg, function(err) {
if(err) {
return trueLog(err);
}
});
//trueLog(msg); //uncomment if you want logs
}
只需將此代碼段放在nodejs代碼的頂部即可。
有一個forever -o path/to/logfile start /home/www/html/server/mynode.js
捕獲日志的選項forever -o path/to/logfile start /home/www/html/server/mynode.js
從文檔-o OUTFILE Logs stdout from child script to OUTFILE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.