我正在使用NLog来记录我的所有.NET应用程序。我正在寻找一种可以帮助我轻松查看这些长日志的软件。所以Legit Log Viewer来找我。但是,我无法查看日志文件,日志查看器显示“不支持的日志格式”。以下是我的NLog.conf文件和Legit Log Viewer布局文件。任何人都可以帮我弄清楚错误吗?
NLog.config目标布局
layout="${level} | ${longdate} | ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=true} | ${message} ${exception:format=tostring}"
我的合法日志查看器布局文件。
<Description>
${level} | ${longdate} | ${logger} | ${message}
</Description>
<LogLine>
<Fields>
<LogFieldFormat Name="Level" FieldType="String" Delimiter="|" FilterColumn="true" HighlightRows="true" />
<LogFieldFormat Name="DateTime" FieldType="DateTime" Delimiter="|" Format="yyyy-MM-dd HH:mm:ss.ffff" />
<LogFieldFormat Name="Logger" FieldType="String" Delimiter="|" />
<LogFieldFormat Name="Message" FieldType="String" />
</Fields>
</LogLine>
答案 0 :(得分:2)
我已修复XML配置以支持您的日志格式。
<?xml version="1.0" encoding="utf-8" ?>
<LogFormat xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.legitlog.com/LogFormatSchema.xsd"
FormatName="NLog (Joe Melbourne)">
<Description>
${level} | ${longdate} | ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=true} | ${message} ${exception:format=tostring}
</Description>
<LogLine>
<Fields>
<LogFieldFormat Name="Level" FieldType="String" Delimiter="| " FilterColumn="true" HighlightRows="true" />
<LogFieldFormat Name="DateTime" FieldType="DateTime" Delimiter=" |" Format="yyyy-MM-dd HH:mm:ss.ffff" />
<LogFieldFormat Name="Callsite" FieldType="String" Delimiter="|" />
<LogFieldFormat Name="Message" FieldType="String" Delimiter="
" Multiline="true" />
</Fields>
</LogLine>
</LogFormat>
日期周围有奇怪的空格,所以我更改了分隔符以消耗它们。我还为最后一个字段添加了分隔符,并使其支持每条消息多行。
在即将到来的更新中,我将使日志查看器在日期和数字周围自动修剪空格。
P.S。请不要犹豫,通过LL网站上的电子邮件给我打电话来帮助你。