2009-02-02 51 views
2

我的應用程序使用Trace對象來記錄信息。該信息使用TextWriterTraceListener捕獲到文件中,並且完美地工作。不過,我想添加另一個TraceListerner,它會將信息記錄到Web服務中。換句話說,我需要一個HttpTraceListener。此外,我需要智能,我不想看到每個日誌條目的HTTP請求。你將如何構建一個HttpTraceListener?

你會如何建立這樣的事情?我知道我必須繼承TraceListener(文檔有點神祕...)但是有沒有人有一個想法,如果HttpTraceListener已經存在?我不想重新發明輪子...

謝謝!

回答

1

由於您對變量日誌記錄的要求,即不會爲每個條目發出請求,所以您肯定需要創建自己的偵聽器。

每MSDN文檔上的TraceListener(http://msdn.microsoft.com/en-us/library/system.diagnostics.tracelistener(VS.80).aspx

「繼承這個類來實現對調試的自定義監聽器和Trace類。至少,你必須實現Write和WriteLine方法。此外,還可以執行失敗,關閉和刷新方法。「

我會開始:

從TraceListener的
  1. 繼承。
  2. 實施Write/WriteLine方法
  3. 在Write中添加邏輯以將請求提交給Web服務。如果使用基類實現,WriteLine只需添加行終止符。
  4. 根據需要爲您的應用程序覆蓋失敗/關閉/沖洗。

這5個方法將爲您提供實現偵聽器所需的所有訪問。