2010-08-24 4 views
1

Ok, donc j'ai un service WCF qui écrit dans le journal des événements. Tout est bien sauf pour un détail .. il ne fera pas attention à l'attribut logName, .. voici la config.Pourquoi Log4Net ignore-t-il mon nom de fichier?

<!--EventLog Appender--> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
     <logName value="MyCustomLog"/> 
     <applicationName value="MyCustomEventSource" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 

..et le code d'initialisation.

 //Create an instance of the log from the declaring type. 
     var stackTrace = new StackTrace(); 
     var frame = stackTrace.GetFrame(0); 
     log = LogManager.GetLogger(frame.GetMethod().DeclaringType); 
     BasicConfigurator.Configure(); 

Le journal des événements ne sont écrits dans mais dans le journal d'application (en utilisant la source MyCustomEventSource ») plutôt que de moi-même. Il est clair que je manque un point important, mais je ne vois pas ce que cela pourrait être. .. .. Je suis en cours d'exécution sur Windows 7 et IIS 7.5 si cela fait une diff

toute aide serait appréciée

Répondre

1

Avez-vous créé un event source

Je suis surpris que votre code fonctionne?: Vous devez utiliser le XmlConfigurator. Pour autant que je sais que le BasicConfigurator ne configure qu'un enregistreur de console par défaut ...

Peut-être considère également créer les bûcherons comme celui-ci (semble plus propre et plus court):

ILog log = LogManager.GetLogger(typeof(YourClass)); 
+0

J'ai oublié de mentionner que j'utilisais l'attribut AssemblyInfo à l'aide d'un XMLConfigurator. Je vous ai marqué comme correct puisque vous m'avez poussé dans la bonne direction mais mon problème était que la source de l'événement était enregistrée dans deux journaux distincts. Il était seulement connecté au plus récent. – Stimul8d

Questions connexes