2016-03-28 55 views
3

Bazı günlük kaydedici işlevlerini çağıran bir uygulama yapıyorum. Ben (yerine console.log ait) her modülde bu koda çağrı İşlevselliği tekrar tekrar çağırın

ben bunu sevmiyorum benim sorum ... Orada node.js içinde bunu yapmak için daha iyi bir yolu? Beyanı (aşağıdaki ilk 3 satır) tekrar tekrar numaralı telefona çağırmak yerine, bu logger'ı kullanmam gereken her modülde çağrılacak olan kızılötesi kod (neredeyse tüm ...)

var Logs = require("internal-logging"); 
var appCon = Logs.addContext(); 
var logger = appCon.getLogger("/app/run"); 

... 

//this is the call to the logger inside each module 

logger.info("Configuration was found: " + path); 
+0

'EventEmitter'ı kullanabilir ve iletileri kaydedecek olan tek bir etkinlik-dinleyicisi oluşturabilir ve diğer modüller sadece oturum açmak için özel etkinliğinizi yayar ve gereken iletiye gönderir – MysterX

+0

@MysterX - nasıl örnek verebilir misiniz yap bunu? –

+0

Tüm bunları bir satırda yazmayı düşündünüz mü? 'var logger = gerektirir (" internal-logging "). addContext(). getLogger ("/app/run ");'? Daha fazlasını kısaltabiliyor gibi görünmüyor. – Bergi

cevap

2

kendi logger modülü oluşturabilir: diğer dosyalarda

// my-logger.js 
var Logs = require("internal-logging"); 
var appCon = Logs.addContext(); 
var logger = appCon.getLogger("/app/run"); 
module.exports = logger; 

Ve sonra:

var logger = require("./my-logger"); 
İlgili konular