javascript - Crontab 阻止 Winston 写入我的日志文件

标签 javascript node.js cron winston

我使用 Winston 将 Node js 应用程序的所有输出记录到日志文件中,但是当我将应用程序作为 crontab 作业运行时,它不会将任何内容写入日志文件。这是我的 winston 运输的设置:

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 文件,Winston 似乎工作正常,如下所示:

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

无论我运行应用程序的环境如何,winston 都不会写入我的测试或生产日志。任何建议都会有帮助。谢谢!

最佳答案

问题已解决。我错误地没有提供 Node 服务器内日志文件的绝对路径,并且 crontab 始终需要绝对路径

关于javascript - Crontab 阻止 Winston 写入我的日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637714/

相关文章:

javascript - 在 JavaScript 过滤器方法内部进行迭代

JavaScript 在网页上拖放 Div

javascript - 从 React Native 导入 StyleSheet 时未定义不是对象

javascript - 如何在不出错的情况下评论 EJS 代码(JS Node )

magento - 以编程方式创建 Magento cron 作业任务

php - 禁用 wp-cron,并在多站点环境中运行 linux cron

javascript - 如何以不同的速度滚动列?

javascript - 为什么将 `done` 函数传递给 Karma 的服务器时会出现 gulp 错误?

node.js - 如何通过部署为 Node.js 应用程序设置 azure-web-app-service 应用程序设置

javascript - Cron Job 每天运行多次