2010-07-08 1 views
0

En utilisant Enterprise Library 3.1, j'ai un enregistreur qui, une fois qu'il atteint son "rollSizeKB" refuse d'écraser le fichier journal. Qu'est-ce que je rate?Comment puis-je faire en sorte que mon enregistreur remplace l'ancien fichier journal en C# à l'aide de la bibliothèque d'entreprise?

<listeners> 
    <add formatter="Text Formatter" 
     listenerDataType="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.RollingFlatFileTraceListenerData, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     traceOutputOptions="None" type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.RollingFlatFileTraceListener, Microsoft.Practices.EnterpriseLibrary.Logging, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
     rollSizeKB="1" 
     rollInterval="None" 
     rollFileExistsBehavior="Overwrite"   
     name="Formatted EventLog TraceListener" 
     fileName="logfile.log"/> 
</listeners> 

À des fins de test, le rollSizeKB est délibérément petit. Une fois que logfile.log atteint 1 Ko, il arrête d'écrire dans le fichier et ne l'écrase pas. Qu'est-ce que je rate?

+0

Avez-vous essayé de définir RollInterval = "Increment? – Nix

Répondre

0

Je ne suis pas sûr à 100% de ce qui se passe mais cela semble être un problème d'autorisation.

Pouvez-vous vérifier les autorisations sur le dossier dans lequel se trouve logfile.log? A titre de vérification: si aucune autorisation Deny n'est définie, accordez à Everyone Full Control sur le dossier et réexécutez votre programme pour voir si cela fait une différence.

Questions connexes