Log4Net RolloverFileAppender와 함께 응용 프로그램 시작시 롤오버를 강요하려면 어떻게해야합니까?

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

  •  03-07-2019
  •  | 
  •  

문제

응용 프로그램에 Log4Net을 구성하여 날짜 스탬프 이름과 10MEG 파일 크기 제한을 사용하십시오.
이로 인해 자정에 그리고 10meg 한도에 도달 할 때마다 자동으로 새 파일로 롤오버가 발생합니다. 또한 응용 프로그램이 시작될 때마다 로깅을 새 파일로 롤오버하고 싶습니다.
세 번의 롤오버 동작을 모두 얻을 수 있습니까?

도움이 되었습니까?

해결책

세트 부록 구성 파일에서 false로.

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

편집 : Craig의 의견에 답하기 위해 :

staticlogfilename 및 countDirection을 올바르게 설정하면 (참조하십시오 http://logging.apache.org/log4net/rolease/sdk/log4net.appender.rollingfileAppender.html 더 많은 것을 위해), 원하는대로 물건이 굴러냅니다. 우리는 이것을 사용하는 앱의 로거를 프로그래밍 방식으로 구성하지만 이것이 코드의 모습입니다.

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()
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top