2010-06-19 74 views
1

只是想加快速度。NLog。單身人士和調用類/方法/線程

2個問題..

我的目的是有一個單獨的類,使NLOG可用於整個應用..這是正確的做法。

如何記錄日誌中條目的來源,即Class .. Method .. thread等。

回答

4

你的單身人士會做什麼

像NLog(和log4j等)這樣的庫的優點之一是,當你登錄時,它會記錄相關的類記錄器 - 這意味着你可以適當地調整記錄。如果你有一個singleton只有一個Logger實例,你會立即失去這個好處。我建議你使用文檔中顯示的技術,每個類都有自己的記錄器。

至於發佈類名等,請看文檔的layout renderers頁面,該頁面有很多選項:{callsite}{threadid}可能就是您要的。

+0

你在說什麼..在你想登錄的每個類中創建一個Nlog實例..那麼它知道它從哪個類被調用? 我雖然單身將意味着它只是實例化一次..我有一種感覺,我對使用它的方式感到困惑...... – Adam 2010-06-19 08:03:04

+0

在你想要使用它的每個類中創建一個'Logger'的實例,是的...然後只需登錄該記錄器。是的,你最終會創建更多的實例,但受益於細粒度的配置。它不會像它會分別加載整個程序集的每個'Logger'實例... – 2010-06-19 08:06:16

+0

Jon ..我發現你的答案非常有幫助..起牀速度快令人沮喪.. renderers頁面已經解決了我的問題問題... 但通過在每個類中創建一個單獨的日誌實例,我登錄..什麼是我可以有翅片粒度控制?你是否基本上說我可以開啓日誌記錄功能,是否還有其他好處。 另外..看到你是如此有幫助..有一個單一的或可能是在PC上的3個應用程序我想記錄..如果我不發送他們到一個日誌文件..你會以什麼方式存儲他們..你會用什麼瀏覽器來瀏覽日誌? – Adam 2010-06-19 08:13:35