【发布时间】:2015-09-19 16:03:18
【问题描述】:
我正在使用 log4net 以 XML 格式登录。
我正在使用以下配置:
<appender name="RollingLogFileAppenderError" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="App_Log\Service.Error.xml"/>
<staticLogFileName value="false"/>
<preserveLogFileNameExtension value="true"/>
<appendToFile value="true"/>
<rollingStyle value="Date"/>
<datePattern value=".yyyy-MM-dd"/>
<filter type="log4net.Filter.LevelMatchFilter">
<acceptOnMatch value="true"/>
<levelToMatch value="ERROR"/>
</filter>
<filter type="log4net.Filter.DenyAllFilter"/>
<layout name="StandardLayout" type="log4net.Layout.PatternLayout">
<header><?xml version="1.0" encoding="UTF-8"?><LogEntries></header>
<footer></LogEntries>
<conversionPattern value="<LogEntry date="%date" level="%level" logger="%logger" method="%aspnet-context{LogMethodName}">%message</LogEntry>%newline"/>
</layout>
</appender>
现在可以了,除了我需要查看最新日志文件的情况。然后它是无效的,包含如下内容:
<?xml version="1.0" encoding="UTF-8"?>
<LogEntries>
<LogEntry>....</LogEntry>
没有页脚,自然是无效的。
文件被收集到一个中心位置,我们希望在其中可视化来自日志的信息。但是由于有些日志文件是无效的,这就产生了一些问题。
现在我可以在将文件读入可视化工具之前对其进行预处理,但我更希望拥有有效的 xml 文件。
有人对如何处理这个问题有建议吗?
编辑:
另一种解决方案可能是不登录 XML,而是登录例如 JSON,据我所知,它也需要一个根“元素”,似乎存在同样的问题。
【问题讨论】:
标签: xml logging log4net logfiles