Log4net按日期滚动

Log4net按日期滚动,log4net,Log4net,我要求log4net在创建日志文件时创建日期,日志文件名为“Application.20130125.txt”,格式为“Application.yyymmdd.txt”,而不是在夜间12点更改日期时 当日期更改时,应创建新的日志文件“Application.20130126.txt” 你能建议一下需要对系统进行哪些更改吗 以下代码,以便首先在滚动时创建日期, 创建日期为“Application.20130126.txt”的新文件 请在下面找到我使用的样本,该样本将根据您的需要写入文件:

我要求log4net在创建日志文件时创建日期,日志文件名为“Application.20130125.txt”,格式为“Application.yyymmdd.txt”,而不是在夜间12点更改日期时

当日期更改时,应创建新的日志文件“Application.20130126.txt”

你能建议一下需要对系统进行哪些更改吗 以下代码,以便首先在滚动时创建日期, 创建日期为“Application.20130126.txt”的新文件


请在下面找到我使用的样本,该样本将根据您的需要写入文件:

    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设置为
“yyyyymmddhhmm”
来测试它,这将每分钟写入一个新的日志文件。

您需要将滚动样式与模式一起添加到Date,并在日期边界更改时自动将日志滚动到一个新的文件名。检查此链接:还可以查看上的此链接,因此:我希望DatePattern在创建文件时起作用,但在午夜12点滚动时不起作用。我正在使用log4net for Windows服务,属性设置为u for OneReleasedTime()。这样,它应该只创建一个线程。但它仍然随机创建多个日志文件,如“MyLogFile_20130125”、“MyLogFile_2013012520130125”、“MyLogFile_201301252013012520130125”。即使日期没有更改,它仍会将yyyyMMdd追加到日志文件名中。有什么解决办法吗?
    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)