StackOverflowException с Common.Logging и Common.Logging.Simple.CommonLoggingTraceListener - PullRequest
2 голосов
/ 29 июля 2011

Я пытаюсь перенаправить все сообщения журнала с System.Diagnostics.Trace на Common.Logging , как описано на веб-сайте Common.Logging .

К сожалению, когда я запускаю свое приложение, я получаюStackOverflowException и я не уверен почему.Если я удаляю секцию <system.diagnostics>, она работает нормально.

Я повторил эту проблему, используя простое консольное приложение, которое выполняет один вызов Trace.WriteLine("hello");

Вот мой полный App.configfile:

<?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?

1 Ответ

0 голосов
/ 26 октября 2012

Я перешел от этой проблемы сейчас, но я думаю, что ответ от CodeMonkeyKing, вероятно, точный:

Я уверен, что вы уже поняли это, но я не вижу ничего ответы. Одной из наиболее распространенных причин возникновения StackOverflowException является если вы используете прослушиватель Trace для Common Logging. Это будет иметь смысл, если вы перенаправите все .Diag'ics.Trace на Common.Logging, что вы можете получить переполнение в зависимости от какой адаптер фабрики логирования вы настроили.

...