我要求log4net创建日期,日志文件名为“Application.20130125.txt”,格式为“Application.yyyyMMdd.txt”,在创建日志文件时改为在晚上12日更改时AM。
当日期发生变化时,它应该创建新的日志文件“Application.20130126.txt”
您能否建议您需要做些哪些更改? 在代码下面,以便首先创建日期并在滚动时创建日期 创建一个日期为“Application.20130126.txt”的新文件
LogPath = "C:\Logs\"
fileName = "ApplicationName" & "..txt"
hierarchy = DirectCast(LogManager.GetRepository(), Hierarchy)
patternLayout.ConversionPattern = "%m%n"
patternLayout.ActivateOptions()
roller.Layout = patternLayout
roller.RollingStyle = RollingFileAppender.RollingMode.Date
roller.DatePattern = "yyyyMMdd"
roller.AppendToFile = True
roller.StaticLogFileName = True
roller.File = LogPath & fileName
roller.PreserveLogFileNameExtension = True
roller.ActivateOptions()
hierarchy.Root.AddAppender(roller)
hierarchy.Root.Level = Level.Debug
hierarchy.Configured = True
log = LogManager.GetLogger("RollingFileAppender")
答案 0 :(得分:2)
请在下面找到我用过的示例,根据需要写入文件:
Dim fileappender = New log4net.Appender.RollingFileAppender()
fileappender.AppendToFile = True
fileappender.Threshold = log4net.Core.Level.Debug
fileappender.File = "MyLogFile_"
fileappender.DatePattern = "yyyyMMdd"
fileappender.StaticLogFileName = False
fileappender.Layout = New log4net.Layout.SimpleLayout()
fileappender.RollingStyle = log4net.Appender.RollingFileAppender.RollingMode.Date
fileappender.ActivateOptions()
DirectCast(log4net.LogManager.GetRepository(), log4net.Repository.Hierarchy.Hierarchy).Root.AddAppender(fileappender)
log4net.Config.BasicConfigurator.Configure(fileappender)
上面会创建一个日志文件,其文件名为“MyLogFile_20130125” 并且一旦日期时间改变,它将把新文件写为“MyLogFile_20130126”
您也可以通过将datePattern设置为"yyyyMMddhhmm"
来测试它,并且每分钟都会写一个新的日志文件。