Log4Net configuré dans notre application pour utiliser un nom estampillé et une limite de taille de fichier 10Meg.
Cela provoque automatiquement un basculement vers un nouveau fichier à minuit et chaque fois que la limite de 10 Mo est atteinte. Je voudrais également passer la journalisation à un nouveau fichier chaque fois que l'application est démarrée (ou fermée). Puis-je avoir les trois comportements de renversement?Comment forcer un rollover au démarrage de l'application avec Log4net RolloverFileAppender?
5
A
Répondre
4
Définissez appendToFile sur false dans votre fichier de configuration.
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
....
<appendToFile value="false" />
....
</appender>
EDIT: Pour répondre à un commentaire de Craig:
Si vous correctement configuré et StaticLogFileName CountDirection (voir http://logging.apache.org/log4net/release/sdk/log4net.Appender.RollingFileAppender.html pour plus), alors les choses roulent comme on le souhaite. Nous configurons par programme l'enregistreur dans notre application où nous l'utilisons, mais voici à quoi ressemble le code:
Dim Layout As New PatternLayout("%date{yyyy-MM-dd HH:mm:ss,fff} [%-6thread] %-5level %type{2}.%method(%line) - %message%newline")
Dim Appender As New log4net.Appender.RollingFileAppender()
Appender.File = Path.Combine(FileSystemHelper.LogDirectory, LogFileName)
Appender.Layout = Layout
Appender.AppendToFile = False ' we will start a new one when the program starts'
Appender.Name = "RollingLogFileAppender"
Appender.Threshold = LogLevel() 'May want to set this by configuration'
Appender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Size 'This means it will start a new log file each time the log grows to 10Mb'
Appender.MaximumFileSize = "10MB"
Appender.MaxSizeRollBackups = -1 'keep an infinite number of logs'
Appender.StaticLogFileName = True
Appender.CountDirection = 1 ' to reduce rollover costs'
log4net.Config.BasicConfigurator.Configure(Appender)
Appender.ActivateOptions()
Questions connexes
- 1. Démarrage d'une session d'écran au démarrage avec ubuntu
- 2. Comment synchroniser l'horloge de l'ordinateur au démarrage?
- 3. Forcer l'installation de Winforms pour que l'application démarre au démarrage de Windows
- 4. L'application WPF échoue au démarrage avec TypeInitializationException
- 5. Comment ajouter un commutateur au démarrage du serveur dans Eclipse?
- 6. Comment faire pour que log4j efface un journal au démarrage?
- 7. Peut-on dbms_utility.get_time rollover?
- 8. Win32 Dialog fermeture au démarrage
- 9. Obtenir un programme Win32 demander un débogueur au démarrage?
- 10. service de retard au démarrage du système
- 11. .net - Comment enregistrer un script de démarrage?
- 12. Utilisation de log4net avec Unity IoC
- 13. Xcode se bloque au démarrage
- 14. Comment configurer un enregistreur enfant avec un niveau de journalisation inférieur à celui de Log4net
- 15. MULE lifecycle - comment se connecter au processus de démarrage
- 16. Exécution d'une application au démarrage sous un utilisateur différent
- 17. Configuration de log4net avec le fichier xml
- 18. Comment exécuter automatiquement l'application JBoss au démarrage, à l'aide
- 19. Comment enregistrer un IObjectRenderer personnalisé dans log4net?
- 20. Can presentModalViewController peut-il fonctionner au démarrage?
- 21. Gestion des exceptions au démarrage du service
- 22. Impossible d'afficher un seul tiroir par jQuery au démarrage
- 23. erreur Javascript dans IE (rollover)
- 24. Comment sortir XML dans Log4Net
- 25. Comment attacher automatiquement un débogueur à un processus au démarrage du processus sous OS X?
- 26. Empêcher un processus d'afficher une fenêtre au démarrage
- 27. Mettre un programme dans la barre d'état système au démarrage
- 28. log4net active la journalisation du débogage au moment de l'exécution
- 29. Comment désactiver les effets sonores au démarrage d'Ubuntu?
- 30. Comment ajouter une application au démarrage en utilisant l'installateur?
Notez que ceci * remplace * le fichier préexistant. Que vous considériez cela ou non comme un «roulement» est une question d'interprétation. (Pour moi, rollover implique de laisser l'ancien journal autour.) –
@Bob King - une idée de ce que les bons paramètres pour CountDirection et StaticLogFileName sont de l'obtenir pour rouler (ie copiez ancien journal ailleurs) au démarrage de l'application? J'ai mis RollingStyle = Une fois, CountDirection = 1, StaticLogFileName = true, AppendToFile = false mais je ne peux pas l'obtenir comme souhaité. J'ai également expérimenté avec une variété d'autres paramètres sans la chance – fostandy
@fostandy - essayez de définir le style roulant à autre chose qu'une seule fois. La taille fonctionne pour nous. Désolé, juste remarqué que le commentaire a plus d'un an :-( –