[c#] Log4net n'écrit pas le fichier journal


Answers

Utilisez cette page FAQ: Apache log4net Foire aux questions

À environ 3/4 de la distance, il vous indique comment activer le débogage de log4net en utilisant le suivi des applications. Cela vous dira où votre problème est.

Les bases sont:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
        <add key="log4net.Internal.Debug" value="true"/>
    </appSettings>
</configuration>

Et vous voyez la trace dans la sortie standard

Question

J'ai créé un scénario simple en utilisant Log4net, mais il semble que mes appenders ne fonctionnent pas parce que les messages ne sont pas ajoutés au fichier journal.

J'ai ajouté ce qui suit au fichier web.config:

<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" requirePermission="false"/>        
</configSections>

<log4net>
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
            <file value="D:\MyData\Desktop\LogFile.txt" />
            <appendToFile value="true" />
            <encoding value="utf-8" />
            <layout type="log4net.Layout.SimpleLayout" />
    </appender>


    <root>
        <level value="INFO" />
        <appender-ref ref="LogFileAppender" />
    </root>
</log4net>

Dans le fichier ASAX global j'ai ajouté:

ILog logger = LogManager.GetLogger(typeof(MvcApplication));

et dans la méthode Application_Start:

logger.Info("Starting the application...");

Qu'ai-je fait de mal?




Insérer:

 [assembly: log4net.Config.XmlConfigurator(Watch = true)]

à la fin du fichier AssemblyInfo.cs




Pour moi, j'ai déplacé l'emplacement des fichiers journaux et ce n'est que lorsque j'ai changé le nom du fichier en quelque chose d'autre qu'il a recommencé.

Il semble que s'il y a déjà un fichier journal avec le même nom, rien ne se passe.

Ensuite, je renommer l'ancien fichier et changé le nom du fichier journal dans la configuration de nouveau à ce qu'il était.




Aussi, assurez-vous que l'option "Copier toujours" est sélectionnée pour [log4net] .config comme cette image:




Links