我使用企業庫3.1 Msmqdistributor服務來分發來自不同application.I日誌已經定義在categorySources/specialSources多聽衆,但如果一個監聽器失敗比後來的聽衆將永遠不會執行。企業庫3.1 - 如果一個監聽器失敗,則隨後的監聽器將永遠不會被執行
以下是我的配置代碼。
<specialSources>
<allEvents switchValue="Warning" name="All Events">
<listeners>
<add name="Database Listener A" />
<add name="Custom Trace Listener A" />
<add name="Custom Trace Listener B" />
</listeners>
</allEvents>
<notProcessed switchValue="Warning" name="Unprocessed Category" />
<errors switchValue="Warning" name="Logging Errors & Warnings"/>
</specialSources>
如果我錯了指定連接字符串數據庫聽者然後將它未能數據庫中插入日誌。但它也將停止下一定義跟蹤監聽器和自定義跟蹤偵聽乙的就業機會。所以了這裏定義跟蹤監聽器和自定義跟蹤監聽器B將被永遠執行,如果數據庫聽者失敗。
有人可以幫忙嗎?
感謝 Mitesh帕特爾
嗨Tuzo,感謝您的及時回覆。但在我目前的需求中,我想要抑制Listener中的任何異常,並繼續後續的Listener。我無法吞下Database Listener中的異常,因爲它是內置偵聽器。另外,我可以在的 中爲任何異常指定監聽者,但在這裏也是相同的情況。 –
mit
@ user988917:是的,我知道你不能在數據庫偵聽器中隱藏;這就是爲什麼我建議把它放到最後。你可以從EL源創建你自己的數據庫監聽器,然後不要扔到那裏。當然,你可能會想要捕獲和記錄故障,所以你知道有問題。 –
再次感謝Tuzo。但是我希望所有的聽衆,如果有任何錯誤,它會被壓制。我已經有了通過繼承LogSource和LogWriter的基類來實現它的解決方案 – mit