2010-06-24 2 views
3

В режиме отладки Log4net регистрируется правильно. В режиме деблокирования он также работает правильно. Но проблема в том, что в режиме деблокирования, если я регистрируюсь из одного из определенных классов (только один), он не регистрируется (этот класс регистрируется в режиме отладки). Другие классы регистрируются правильно даже в режиме деблокирования с использованием одного и того же регистратора.Log4net не регистрируется в режиме деблокирования

Вот Config

 <root> 
      <level value="INFO" /> 
     </root> 
     <logger name="Japt"> 
      <level value="DEBUG" /> 
      <appender-ref ref="JaptAuditLogDbAppender" /> 
     </logger> 

Я использую тот же конфигурационный файл как для отладки и выпуска режиме.

Любая помощь будет оценена по достоинству.

+0

log4net не знает режим выполнения/как ехе на самом деле вызываются. Я предполагаю, что вы случайно редактируете неправильный файл. (например, режим выпуска установлен для отладки в качестве выходного каталога). – weismat

+0

Я не регистрирую файл. Я вхожу в базу данных – Bipul

+0

В классе, с которым у вас возникают проблемы, как вы называете регистратор? (Вы жестко кодируете имя или вы динамически определяете имя?) Или, может быть, хорошим тестом было бы временно поместить что-то в код, чтобы показать сообщение или что-то, что отображает имя регистратора во время выполнения (чтобы убедиться, что это то, что вы ожидать) и показать результат вызова функции IsErrorEnabled (или whatevet, с которой она названа), чтобы убедиться, что она включена. –

ответ

0

Если класс является небольшим и простым, его можно преобразовать в встроенный код оптимизатором.

Если это так, то я думаю, вы можете добавить атрибут для отображения встраивания, например

[MethodImpl(MethodImplOptions.NoInlining)] 
void Japt() 
Смежные вопросы