En utilisant la configuration ci-dessous, environ la moitié du temps, je reçois deux journaux par un, un vide. Ils diffèrent par le nom de fichier par une seconde (log.2015-03-09_11-50-25 vs log.2015-03-09_11-50-26)Log4net créant parfois deux journaux, un vide
J'essaie d'avoir un journal par exécution de l'application de console .
<log4net>
<appender name="Log" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="C:\env\QA\Logs\consoleapp\log.%date{yyyy-MM-dd_HH-mm-ss}.txt"/>
<appendToFile value="true"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %message%newline"/>
</layout>
</appender>
<root>
<level value="INFO"/>
<appender-ref ref="Log"/>
</root>
</log4net>
Ce dernier journal est le seul à être rempli/écrit.
Pourquoi cela se produit-il? Comment je le répare?
EDIT: Il s'avère que j'instanciais un second enregistreur dans mon code. Lorsque l'instanciation s'est produite pendant une seconde différente, un deuxième journal a été créé. L'appender fonctionnait correctement.
enlever la deuxième spécificateur dans le nom du fichier. – user1666620
votre approche peut être sous-optimale. Essayez d'utiliser nom d'utilisateur/pid/quelque chose d'autre unique à une période assez petite pour vos journaux comme "clé primaire" de votre nom de fichier journal – swe
@swe timestamp est bon pour les noms de fichier journal - permet des noms de fichiers facilement lisibles et les place dans le contexte . – user1666620