阻止winston的Crontab写入我的日志文件

我正在使用winston将节点js应用程序的所有输出logging到日志文件中,但是当我将该应用程序作为crontab作业运行时,它不会向日志文件写入任何内容。 这是我的温斯顿运输设置:

var winston = require('winston'), getTimeStamp = function() { return new Date().toString(); } if(process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'test') { winston.add(winston.transports.File, { filename: environment.logFileName, maxsize: 1024*1024*10, //10MB timestamp: getTimeStamp(), colorize: true }); winston.remove(winston.transports.Console); } winston.exitOnError = false; 

温斯顿似乎工作正常,如果我指示我所有的输出做一个cron.log文件,就像这样:

 0 12 * * 1 /apps/accounting/server/Invoice_Worker/test.sh >> /var/log/cron.log 

或者如果我使用console.log来做所有的输出。

我也试过这样做,并没有解决这个问题:

 0 12 * * 1 /apps/accounting/server/Invoice_Worker/test.sh >> /dev/null 2>&1 

温斯顿不写我的testing或生产日志,不pipe我运行应用程序的环境。任何意见将有助于请。 谢谢!

这个问题已经解决了。 我没有提供绝对path到我的节点服务器内的日志文件,并且crontab总是需要绝对path