当前版本的Log4net是否有办法创建具有复合滚动样式的RollingFileAppender,其中滚动文件始终保留给定的扩展名(在我的情况下为.log)?
我想要的格式示例:
MyLog.log
MyLog.2011-04-10.1.log
MyLog.2011-04-10.2.log
MyLog.2011-04-10.3.log
我发现this post表示存在“PreserveLogFileNameExtension”属性,但它没有包含在官方二进制文件中。这仍然是这样吗?
如果是这样:任何人都可以解释为什么这个属性仍然不是Log4Net的官方部分?我对使用自定义构建有点怀疑,但也许我不应该这样做?
我也很想知道默认功能为何不保留文件扩展名。我不明白为什么它会让用户获得所有日志文件都有不同的扩展名。
编辑:通过这样做得到它:
1:下载并构建log4net源代码
2:应用这些补丁:https://issues.apache.org/jira/browse/LOG4NET-64
3:在配置中将PreserveLogFileNameExtension设置为“true”。
答案 0 :(得分:4)
您是否尝试过这些参数?
<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
也许可以将它与滚动尺寸相结合?
答案 1 :(得分:2)
情况没有改变。没有更新的log4net版本。当(如果)有新版本时,我很不清楚......
我认为您不必担心使用自定义构建。测试你的软件,如果它有效,那就足够了。
编辑:有一个新版本应该包含LOG4NET-64。当然,您仍然可以坚持自定义构建。
答案 2 :(得分:0)
我正在使用此配置:
<file value="" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />
获取文件名,如: