Crontab блокирует 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;

Winston, кажется, работает нормально, если я направляю весь свой вывод в файл 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

winston не пишет в мои тестовые или производственные журналы независимо от среды, в которой я запускаю приложение. Пожалуйста, помогите любым советом. Спасибо!


person Gabriel Ok    schedule 14.04.2015    source источник
comment
В большинстве случаев вопрос связан с тем, что X не будет писать в файл, это как-то связано с разрешениями. Я не уверен, как это работает с winston или node, но, возможно, стоит проверить.   -  person Dan    schedule 15.04.2015


Ответы (1)


Проблема решена. Я сделал ошибку, не указав абсолютные пути к моим файлам журнала на моем сервере узла, и crontab всегда требует абсолютных путей

person Gabriel Ok    schedule 15.04.2015