2010-07-07 3 views
2

Log4Net a fonctionné correctement pendant quelques mois, puis a commencé à générer des problèmes lors du déploiement d'un nouveau fichier pour le jour suivant.log4net ne se connecte pas correctement lors du passage à une nouvelle date

Problème: Chaque fois que je vérifie dans la journée ou jusqu'à 23:59 tout est enregistré mais dès qu'il survole, le fichier roulé aura les données de 00:00 - 06:00 heures du lendemain. Tous les journaux de la journée précédente sont perdus.

Donc pour le fichier rolled Service.log20100702 contiendra les données 00:00 - 06:00 hrs pour 03/07/2010 date et rien d'autre.

Le problème est principalement sur les boîtes de production, il fonctionne très bien sur ma boîte locale.

Mon fichier de roulement appender ressemble

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="C:\TTLLogs\Refunds\Ttl.Refunds.Web.UI.log"/> 
     <appendToFile value="true" /> 
     <datePattern value="yyyyMMdd" /> 
     <rollingStyle value="Date" /> 
     <maximumFileSize value="10MB" /> 
     <maxSizeRollBackups value="100" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <header value="[Header]&#xA;"/> 
     <footer value="[Footer]&#xA;"/> 
     <conversionPattern value="%date %-5level %logger ${COMPUTERNAME} %property{UserHostAddress} [%property{SessionID}] - %message%newline"/> 
     </layout> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
</appender> 
+1

Avez-vous atteint la limite maximumFileSize peut-être? Existe-t-il un processus automatisé ou similaire qui tourne autour de 06:00 heures et qui pourrait bloquer le système? C'est à dire. Les dernières entrées de journal sont-elles similaires chaque jour ou complètement aléatoires? –

+0

ce n'est pas 06h00 tous les jours, c'est aléatoire. Dans le passé la taille jusqu'à 457 MBs. Donc, son atteindre la limite, mais il ne roule pas après maximumFileSize et le maxSizeRollBackups est de 100, donc cela ne devrait pas être un problème. Une idée de ce qui se passe? – Miral

Répondre

1

Je vais essayer:

  • Ajout < staticLogFileName value="true" />. Cela empêche le changement de nom de fichier lorsque l'appender lance la date.
  • Modifiez le paramètre lockingModel à FileAppender.ExclusiveLock pour empêcher un autre processus de verrouiller le fichier journal. C'est à dire. peut-être un scanner de virus similaire verrouille le fichier journal.
  • Suppression maximumFileSize car elle n'est pas applicable lorsque rollingStyle est Date.
  • En supprimant maxSizeRollBackups comme vous pouvez manuellement supprimer les fichiers journaux supplémentaires jusqu'à ce que la journalisation fonctionne comme prévu à nouveau.
Questions connexes