2015-11-20 58 views
0

我正在爲我的node.js應用程序尋找一個日誌記錄解決方案,它允許我通過文件/文件夾選擇器設置日誌記錄級別。基於目錄/文件的日誌記錄選擇器

例如,我希望能夠將/ app/schema中所有文件的記錄設置爲'info'。其餘的都是'錯誤'。

示範性配置:

{ 
    "*":"error", 
    "/app/schema":"info" //<--Regex expression would be great too. 
} 

我不斷地註釋/取消註釋/刪除日誌報表時,我需要檢查什麼。我寧願通過配置更改來做到這一點,並保持日誌文件不變。全局調試級別只是創建噪聲和音量(在存儲日誌時很重要)。

有沒有這樣的事情? Apache log4j是類似的,你可以在包級別上設置日誌級別。

回答

0

如果我得到你的問題吧,我建議本仁,它可以讓你從docs配置儘可能多的日誌流和日誌級別,只要你喜歡,即:

var log = bunyan.createLogger({ 
    name: 'myapp', 
    streams: [ 
    { 
     level: 'info', 
     stream: process.stdout   // log INFO and above to stdout 
    }, 
    { 
     level: 'error', 
     path: '/var/tmp/myapp-error.log' // log ERROR and above to a file 
    } 
    ] 
}); 

你必須爲每個日誌級別設置每條路徑的邏輯。

+0

Bunyan很棒。我細化了一下這個問題。我喜歡能夠在文件級別上指定細粒度的日誌級別配置。 –

+1

我相信你可以將所有日誌都推到同一級別,然後使用'bunyan cli'應用進行過濾,即:'tail -f /logs/prod.log | bunyan -l INFO'這種方式只是將INFO向上過濾,如果將一些功能包裝到日誌中,則可以添加自定義的「過濾器」,即:log.info(「identificator」,actualLog); '。剩下的就取決於你如何編寫你的應用程序。 –

+0

不錯的主意。我擔心的是它產生的量和相關的成本。它總是善於擁有一切,也許是它的方式。 –