3
我試圖用System.Diagnostics
提供的一些日誌功能來增強我的程序。由於我的解決方案由多個項目組成,因此我想爲整個應用程序創建一個開關,併爲每個項目創建一個開關。在我的設計中,我應該在哪裏放置項目或應用範圍的TraceSwitch?
現在的問題是,我該如何做到這一點,我應該在哪裏放置開關定義?
從應用程序範圍開關開始,因爲我沒有理解C#中的全局變量,所以我怎麼能實現這一點?
將投入
static TraceSwitch ApplicationSwitch = new TraceSwitch("Application", "Enables logging in the whole application.");
每類
一次解決這個或有班會變成這樣,而創造儘可能多的開關,每個開關具有相同的名稱? (我的猜測是後者)
或者我應該把初始化一次在一個單獨的類
static class GlobalSwitch
{
static TraceSwitch Application = new TraceSwitch("Application", "Enables logging in the whole application.");
}
,並引用它從所有其他類這樣
public OtherClass
{
static TraceSwitch Application = GlobalSwitch.Application;
}
這樣就解決了有1整個項目切換,但這是一個很好的做法?
關於應用程序範圍的開關,我將不得不在每個其他項目中都引用包含GlobalSwitch
類的項目,如果可能,我想盡量避免使用該項目。
一些線索,如何做到這一點聰明的方式將非常感激。
好主意,把所有的日誌記錄放入自己的程序集中,顯然很好,我甚至都沒有想過! ;) – 2009-04-30 09:41:09