2009-10-15 7 views
0

J'essaie de faire fonctionner le débogage sans app.config. J'ai le code suivant:log4net active la journalisation du débogage au moment de l'exécution

public static class Logging 
{ 
    private static ConsoleAppender GetConsoleAppender() 
    { 
     ConsoleAppender lAppender = new ConsoleAppender(); 
     lAppender.Name = "Console"; 
     lAppender.Layout = new log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff} %5level [%2thread] %message (%logger{1}:%line)%n"); 
     lAppender.Threshold = log4net.Core.Level.Error; 
     lAppender.ActivateOptions(); 

     return lAppender; 
    } 


    private static FileAppender GetFileAppender() 
    { 
     FileAppender lAppender = new FileAppender(); 
     lAppender.Name = "File"; 
     lAppender.AppendToFile = true; 
     lAppender.File = "C:\\Enum.log"; 
     lAppender.Layout = new 
     log4net.Layout.PatternLayout("%date{dd-MM-yyyy HH:mm:ss,fff} %5level [%2thread] %message (%logger{1}:%line)%n"); 
     lAppender.Threshold = log4net.Core.Level.All; 
     lAppender.ActivateOptions(); 



     return lAppender; 
    } 


    static Logging() 
    { 
     Logger root; 
     root = ((Hierarchy)LogManager.GetRepository()).Root; 
     root.AddAppender(GetConsoleAppender()); 
     root.AddAppender(GetFileAppender()); 
     root.Level = log4net.Core.Level.All; 
     root.Repository.Configured = true; 
    } 
} 

Puis plus tard, je fais un appel comme ceci:

private static ILog lLog = LogManager.GetLogger(typeof(Logging)); 

Ce qui semble fonctionner, mais l'état de Llog a tous les isDebugEnabled, isErrorEnabled, etc. mis à faux. Donc je suis à la recherche d'un moyen de les modifier à l'exécution.

Remarque: Je n'utilise pas de fichier app.config car il s'agit d'une DLL en cours de chargement à partir de MMC.

Répondre

4

Si vous n'appelez pas l'une des méthodes statiques ou accédez à une propriété statique de votre classe statique, votre initialiseur statique ne va pas être exécuté. Tant que vous n'avez pas accédé aux membres statiques de la classe, votre enregistreur ne sera pas initialisé.

+0

Haha, parfait. Je ne peux pas croire que j'ai regardé ça. À votre santé. – Kyle

Questions connexes