Je voudrais stocker les données de configuration de log4net dans mon fichier application.config. En me basant sur ma compréhension de la documentation, j'ai fait ce qui suit :
-
Ajouter une référence à log4net.dll
-
Ajoutez la ligne suivante dans AssemblyInfo.cs :
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
-
Initialiser le logger comme suit :
private static readonly ILog log = LogManager.GetLogger(typeof(frmWizard));
-
J'ai le code suivant dans mon app.config :
<configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> </configSections> <log4net> <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> <root> <level value="INFO" /> <appender-ref ref="ConsoleAppender" /> </root> </log4net>
Cependant, lorsque je lance l'application, j'obtiens l'erreur suivante sur la console :
Aucun appender nommé [Consoleappender] n'a pu être trouvé.
Comment puis-je faire en sorte que log4net lise les paramètres du fichier de configuration ?
Gracias.
0 votes
Quel code avez-vous dans votre app.config ?
4 votes
Note aux autres : Le site
app.config
les paramètres indiqués sont, apparemment, corrects sauf pourEventLogAppender
étant nommé dans le<appender>
section, etConsoleAppender
étant nommé dans le<root><appender-ref>
section - qui ne correspondent pas. Voir la réponse de @Konstantin. Aussi, pour ceux qui ne sont pas familiers avec log4net en utilisant cette question pour apprendre à l'utiliser - notez que vous voudrez probablement un autre type de l'appender que celle d'ici - commetype="log4net.Appender.FileAppender,log4net"
(qui s'ajoute à un fichier, et non au journal des événements de Windows).