2015-01-08 23 views
7

çalışmıyor dosyaya log:Winston ben günlük için Winston kullanmak

var winston = require('winston'); 
var logger = new(winston.Logger)({ 
    transports: [ 
     new(winston.transports.Console)(), 
     new(winston.transports.File)({filename: '/var/log/logF.log'}) 
    ] 
}); 

ve bu günlüğüne yazma: ayrıca dosya /var/log/logF.log güncellenen değildir Nedense

logger.log("File: " + path + " was found"); 

ve Standart çıktı, log gösterilmez.

Nasıl kullanacağım, günlük '/var/log/logF.log' yazılacak?

cevap

13

Günlük "düzey" belirtmediniz ve "günlük" maalesef varsayılan düzey değil. Dene:

logger.log("info", "File: was found"); 
// or 
logger.info("File: was found"); 
+0

Günlüğü '.log' düzeyine nasıl ayarlıyorum? –

+0

@OrSmith Bence "günlük" seviyesi yok. [Bu önceden tanımlı olanlardan birini kullanmalısınız.] (Https://github.com/flatiron/winston#logging-levels) Ya da [kendi tanımınızı yapabilirsin] (https://github.com/flatiron/ winston # using-custom-logging-levels) ancak sanırım "log" olmak için seviyeyi manuel olarak tanımlayamazsınız, çünkü varsayılan '.log()' işlevini dağıtacaktır ve işe yaramayacaktır. – laggingreflex

+0

Bu konuda tamamen% 100 emin değilim, sadece bu türden bir diziye girmeyi ve hüsrana uğramayı hatırlıyorum ve sadece "log" seviyesinin üzerine yazmamayı bitiriyorum. Deneme yapmaktan çekinmeyin ama sadece "bilgi" veya başka bir düzeyde kullanıyorum. – laggingreflex

1

günlüğü mekanizmaları (. Dahil Winston, Bünyan, log4js) gelişmiş Severals ile severals testleri çalışıyor ve yapılan sonra, kaydedici temiz bir çıkış process.exit(0) yaparsanız dosyaya yazabilir olmadığı anlaşılmaktadır. Temiz çıkışın kaldırılması sorunu benim için çözer.