我試圖將所有日誌消息從System.Diagnostics.Trace
重定向到Common.Logging
as documented on the Common.Logging website。StackOverflowException與Common.Logging和Common.Logging.Simple.CommonLoggingTraceListener
不幸的是,當我運行我的應用程序時,我得到StackOverflowException
,我不知道爲什麼。如果我刪除<system.diagnostics>
部分,它運行良好。
我用一個簡單的控制檯應用程序,這使得以Trace.WriteLine("hello");
這裏是我的完整App.config
文件中的單個呼叫重複這個問題:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<trace>
<listeners>
<clear />
<add name="commonLoggingListener"
type="Common.Logging.Simple.CommonLoggingTraceListener, Common.Logging"
initializeData="LogLevel=Trace" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
任何人都可以做任何建議,是什麼原因造成StackOverflowException
?
我相信你現在已經知道了,但是我沒有看到任何答案。對於StackOverflowException,最常見原因之一是如果您正在使用Trace偵聽器進行通用日誌記錄。如果您將.Diag'ics.Trace的所有內容重定向到Common.Logging,那麼根據您配置的日誌工廠適配器的不同,最終可能會導致溢出。 – CodeMonkeyKing