2010-09-06 9 views
3

J'ai un appender qui roule et tous les soirs il roule le fichier. Cependant, lorsqu'il le lance, le nouveau fichier n'a qu'une seule entrée de journal. Il semble que le fichier n'ajoute plus d'entrées de journal. Si je redémarre le service, il se connecte correctement.RollingFileAppender, après son lancement, il ne s'ajoute plus

Voici mes paramètres:

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="Log.txt"/> 
    <appendToFile value="true" /> 
    <staticLogFileName value="true" /> 
    <rollingStyle value="Date" /> 
    <datePattern value=" yyyy-MM-dd" /> 
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
    <threshold value="DEBUG" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> 
    </layout> 
</appender> 

Répondre

1

Set maxSizeRollBackups à une valeur peut-être (maxSizeRollBackups mis à 1 négatif pour permettre à un nombre infini de fichiers de sauvegarde)

Cet exemple indique comment configurer la RollingFileAppender pour exécuter les fichiers journaux une fois par exécution du programme. La propriété appendToFile est définie sur false pour empêcher l'appender de d'écraser les fichiers existants. Le maxSizeRollBackups est défini sur 1 pour autoriser un nombre infini de fichiers de sauvegarde . La taille du fichier a pour être limité mais ici il est fixé à 50 Gigaoctets qui, si un fichier journal dépasse cette taille limite au cours d'une seule exécution alors il sera également roulé.

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="logfile.txt" /> 
    <appendToFile value="false" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="-1" /> 
    <maximumFileSize value="50GB" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
    </layout> 
</appender> 

Ref.

+0

Cette réponse n'a pas fonctionné. J'ai activé la journalisation de log4net et j'ai vu ce journal quand il a roulé le fichier: Ouvrir le fichier pour écrire [C: \ GBI \ Trunk \ ExternalInterfaces \ GBI.ExternalInterface.BACMLFIXWindowsService \ bin \ Debug \ Log.txt] ajouter [Faux]. Ainsi, la propriété append a été définie sur false. Pourquoi cela arrive-t-il??? – JoeRod

3

J'ai trouvé quel était le problème. J'ai supprimé cette ligne dans la configuration et il a commencé à ajouter correctement après avoir roulé le fichier:

<lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
+0

Quelle ligne avez-vous supprimée du fichier de configuration? Il ne semble pas l'avoir fait dans votre message. – wageoghe