Comment forcer un basculement au démarrage de l'application avec Log4net RolloverFileAppender?

StackOverflow https://stackoverflow.com/questions/222210

  •  03-07-2019
  •  | 
  •  

Question

Demandez à Log4Net d’être configuré dans notre application pour utiliser un nom daté et une limite de taille de fichier de 10Meg.
Cela provoque automatiquement un basculement vers un nouveau fichier à minuit et à chaque fois que la limite de 10 Mo est atteinte. J'aimerais également passer la journalisation dans un nouveau fichier chaque fois que l'application est démarrée (ou fermée).
Puis-je avoir les trois comportements de retournement?

Était-ce utile?

La solution

Définissez appendToFile à false dans votre fichier de configuration.

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
....
  <appendToFile value="false" />
....
</appender>

EDIT: pour répondre au commentaire de Craig:

Si vous avez correctement configuré StaticLogFileName et CountDirection (voir http: //logging.apache.org/log4net/release/sdk/log4net.Appender.RollingFileAppender.html pour plus), puis les choses tournent comme vous le souhaitez. Nous configurons l'enregistreur par programme 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()
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top