2015-02-24 81 views
5

我想知道什麼是在Microsoft奧爾良使用log4net的最佳做法? 它應該在哪裏被初始化?Log4Net和Orleans

+0

「微軟不鼓勵在奧爾良穀物中使用靜態類」 - 你有參考嗎? – stuartd 2015-02-25 10:38:38

回答

8

我認爲每個筒倉靜態變量初始化的最佳位置是Silo Bootstrap

請注意,Orleans配置了一個記錄器,你可以通過調用this.GetLogger()來獲取它。

<編輯>可以定義一個記錄器從ILogConsumer繼承,並通過調用 Orleans.Runtime.TraceLogger.LogConsumers.Add()它添加日誌匯的集合。 < /編輯>

<編輯2015-07-17 >: 這Orleans Gitter channel再次,在following advice從核心團隊成員提供出來了:

我們發佈到.NET跟蹤,你可以給它添加新的聽衆。 即使沒有觸及Orleans.Runtime.TraceLogger.LogConsumers,實際上也是最好的方法。 只能使用.NET TRace,通常的工具和配置。與奧爾良無關。我們只是發佈到Trace中。

這裏還要注意另一個Stackoverflow文章Logging best practices,其中Sly Gryphon相當詳盡地遍歷了跟蹤基礎結構。

1

在幾乎所有的奧爾良樣本中,都使用靜態類作爲工廠來創建對象。 Log4net使用相同的結構來創建ILog類。沒有理由使用,或者以標準推薦方式以其他方式進行。