2011-06-17 47 views
0

我一直在坐在一個問題相當長一段時間,我似乎無法找到我失蹤。 我已經爲Logging應用程序塊編寫了企業庫5.0的自定義跟蹤偵聽器組件,但配置的ILogFormatter只是無法解析,因此當我的組件處理它時,總是會得到基本的字符串文本。 我在企業庫源代碼中看到他們使用「Container.ResolvedIfNotNull()」方法。它似乎不適合我。我需要它爲我的組件使用自定義格式化字符串。你知道,不只是消息,而是時間戳,機器名,threadId等。企業庫在解決ILogFormatter日誌記錄tracelistener擴展問題

有沒有人有任何想法如何解決這個問題?

在此先感謝。

+0

忘了提,我在自己的新裝配寫這個。這不是在Entlib源代碼中做出的更改。 – 2011-06-17 06:30:14

+0

你能提供一個代碼樣本嗎?特別是返回你的類型註冊的方法? – 2011-06-17 08:23:27

+0

我不記得有這樣的事情。你願意解釋嗎? – 2011-06-17 08:33:49

回答

0

就像我在這個網站中提到:http://entlib.codeplex.com/discussions/261749

當您創建CreationExpressionTraceListener數據類確保你有一個平坦的構造函數的定義。把它換句話說,不返回:

() => new MyTraceListener(new TraceListenerConfig(..., Container.ResolvedIfNotNull<ILogFormatter>(), ...)); 

只是它在MyTraceListener的構造函數:

() => new MyTraceListener(..., Container.ResolvedIfNotNull<ILogFormatter>(), ...); 
相關問題