- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的 log4net 配置,翻转日志文件创建了错误的扩展名。使用 log_debug.txt 创建的第一个文件和使用 log_debug.txt.1 创建的翻转文件。但理想情况下它应该是 log_debug.1.txt。
我使用preserveLogFileNameExtension 值为true,但它似乎不起作用。你能检查一下,如果有什么问题让我知道吗?
<appender name="DebugRollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="DEBUG" />
<levelMax value="DEBUG" />
</filter>
<file value=".\logs\log_debug.txt" />
<appendToFile value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="20" />
<maximumFileSize value="2MB" />
<preserveLogFileNameExtension value="true" />
<staticLogFileName value="true" />
<layout type="propertyPatternLayout">
<conversionPattern value="%date || Thread=%thread" />
</layout>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
</appender>
最佳答案
我的第一个答案(如下)基于 log4net 的 v1.2.10,我被轻轻地推向了包含 preserveLogFileNameExtension
的 v1.2.13 版本。 .一些测试证实该属性也按预期工作,并且不依赖于 staticLogFilename
属性(property)。
我认为 OP 使用的是以前版本的 log4net,它不包含该属性,因此表现出下面描述的行为(making3 和 Sivakumar 评论在现场 IMO)
再次感谢您将我从 1.2.10 的困境中唤醒。
初步答复
首先第一件事:没有preserveLogFileNameExtension
RollingFileAppender
的属性(property)(或任何附加程序)在 vanilla log4net (我正在查看版本 1.2.10.0)。大多数 log4net 组件将使用您发送的任何属性配置而不会提示,但它不一定会转化为组件中的行为
当滚动大小(或复合)时,发生的情况是滚动被硬编码以使用迭代号作为日志文件的后缀。你总是会得到一个“file.log.n”,其中 n 匹配下一个文件号(这取决于你的 maxSizeRollBackups
和 countDirection
值)。您无法使用当前的 RollingFileAppender
避免这种情况。 (查看 RollingFileAppender.RollOverRenameFiles
方法)
该怎么办?您可以决定按日期滚动。在这种情况下,可以使用 datePattern
属性(property)。 datePattern
滚动时附加到文件名,因此您可以使用类似
<file value="file.log" />
<datePattern value=".yyyy-MM-dd-hh-mm-ss'.log'" />
file.log.2014-12-11-11-47-54.log
(请参阅文件名中的原始 .log 扩展名)。但是您正在失去尺寸限制方面。如果你选择 Composite 你会遇到同样的问题;自
RollOverSize
总是发生在
RollOverDate
之后号码前缀将出现。
RollingFileAppender
继承并且只覆盖必要的方法。
AdjustFileBeforeAppend
是虚拟的,是所有翻转需求的起点;例如,您可以尝试反转对
RollOverDate
的调用。和
RollOverSize
使用复合模式...
关于Log4net preserveLogFileNameExtension 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27276647/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!