Log4Net à l'intérieur de BHO ne fonctionne pas?
Question
J'essaie d'utiliser Log4Net avec un fichier de configuration externe, mais cela ne fonctionne pas: rien n'est enregistré
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="C:\\tmp\\test.log" />
<appendToFile value="true" />
<maximumFileSize value="100KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level %thread %logger - %message%newline" />
</layout>
</appender>
<root>
<appender-ref ref="RollingFile" />
</root>
</log4net>
Si j'utilise cette ligne dans assembly.cs, test.lg est créé lorsque le BHO est enregistré avec Regasm, mais pas lorsque le plugin est en cours d'exécution:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"C:\\tmp\\test.log4net", Watch = true)]
Lorsque j'utilise ce code à l'intérieur du BHO, aucun journal n'est ajouté au test.log:
XmlConfigurator.Configure(new System.IO.FileInfo(@"C:\\tmp\\test.log4net"));
log.Info("test");
Je ne sais pas ce que je fais mal.
La solution
Le fichier de configuration LOG4NET était bien. Le problème est qu'Internet Explorer s'est déroulé en mode protégé, qui interdit aux BHO d'écrire dans des dossiers arbitraires. Il n'y a que quelques dossiers où le BHO peut écrire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow