2010-06-24 6 views
3

En mode débogage, Log4net se connecte correctement. En mode Release, il se connecte également correctement. Mais le problème est que, en mode release, si je me déconnecte d'une classe spécifique (une seule), elle ne se connecte pas (cette classe se connecte en mode debug). Les autres classes se connectent correctement même en mode de publication en utilisant le même enregistreur.Log4net ne se connecte pas en mode de libération

Voici la configuration

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

J'utilise le même fichier de configuration pour le mode de débogage et de la libération.

Toute aide sera appréciée.

+0

log4net ne connaît pas le mode d'exécution/comment l'exe est effectivement invoqué. Je suppose que vous modifiez accidentellement le mauvais fichier. (par exemple, le mode de libération est réglé pour déboguer comme répertoire de sortie). – weismat

+0

Je ne me connecte pas au fichier. Je me connecte Base de données – Bipul

+0

Dans la classe avec laquelle vous rencontrez des problèmes, comment nommez-vous l'enregistreur? (Êtes-vous en train de coder un nom, ou déterminez-vous dynamiquement le nom?) Ou peut-être un bon test serait de mettre temporairement quelque chose dans le code pour afficher un messagebox ou quelquechose qui affiche le nom du logger à l'exécution (pour vérifier Attendez), et affichez le résultat de l'appel de la fonction IsErrorEnabled (ou whatevet elle est nommée) pour voir si elle pense qu'elle est activée. –

Répondre

0

Si la classe en question est petite et simple, elle pourrait être convertie en code en ligne par l'optimiseur.

Si tel est le cas, alors je pense que vous pouvez ajouter un attribut pour afficher la inline, par exemple

[MethodImpl(MethodImplOptions.NoInlining)] 
void Japt() 
Questions connexes