具有静态文件扩展名的Log4Net复合RollingFileAppender

具有静态文件扩展名的Log4Net复合RollingFileAppender,log4net,rollingfileappender,Log4net,Rollingfileappender,当前版本的Log4net是否有方法创建具有复合滚动样式的RollingFileAppender,其中滚动文件始终保留给定的扩展名(.log) 我想要的格式示例: MyLog.log MyLog.2011-04-10.1.日志 MyLog.2011-04-10.2.日志 MyLog.2011-04-10.3.log 我发现有一个“PreserveLogFileNameExtension”属性,但它没有包含在正式的二进制文件中。还是这样吗 如果是:有人能解释为什么这个属性仍然不是Log4Net的官方

当前版本的Log4net是否有方法创建具有复合滚动样式的RollingFileAppender,其中滚动文件始终保留给定的扩展名(.log)

我想要的格式示例:

MyLog.log
MyLog.2011-04-10.1.日志
MyLog.2011-04-10.2.日志
MyLog.2011-04-10.3.log

我发现有一个“PreserveLogFileNameExtension”属性,但它没有包含在正式的二进制文件中。还是这样吗

如果是:有人能解释为什么这个属性仍然不是Log4Net的官方部分吗?我对使用自定义构建有点怀疑,但也许我不应该这样做

我还想知道为什么默认功能不保留文件扩展名。我不明白为什么它会让用户知道所有日志文件都有不同的扩展名

编辑:通过这样做使其工作:
1:下载并构建log4net源代码
2:应用这些修补程序:

3:在配置中将PreserveLogFileNameExtension设置为“true”。

情况不变。没有更新版本的log4net。我很不清楚什么时候会有新版本

我认为您不必太担心使用自定义构建。测试你的软件,如果它能工作,它就足够好了


编辑:有一个新版本应该包括LOG4NET-64。当然,您仍然可以坚持自定义版本。

您尝试过这些参数吗

<file value="log-files\MyLog" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd'.log'" />
<param name="StaticLogFileName" value="false" />

它将保留扩展名,但在每个文件名中都会像这样给您一个日期

MyLog2011-05-16.log MyLog2011-05-17.log MyLog2011-05-18.log MyLog2011-05-19.log MyLog2011-05-16.log MyLog2011-05-17.log MyLog2011-05-18.log MyLog2011-05-19.log
也许可以将其与轧制尺寸结合起来?

我正在使用此配置:


要获取文件名,如:

  • 20111101.log
  • 20111102.log
  • 20111103.log

感谢您的快速回复!我进行了自定义构建,并将“PreserveLogFileNameExtension”属性设置为true。这似乎适用于滚动尺寸,但不适用于日期。现在,它可以根据需要滚动到“MyLog.1.log”,但当它滚动到日期时,我会得到“MyLog.1.log04-11-2001”,这与我之前的情况基本相同。关于如何获取“MyLog.1.04-11-2011.log”的更多提示?我试着使用这个技巧,但与PreserveLogFileNameExtension结合使用时,它不起作用;由于某些原因,它在滚动日期时只保留了最后一个日志文件。可能该功能没有正确实现。。。如果我是你,我会尝试在源代码中自己修复它(如果我真的需要的话),当我从这个页面应用补丁时,它按照我的意愿工作!