NLog的合法日志查看器无法正常工作

时间:2012-12-04 06:22:42

标签: .net logging nlog log-viewer

我正在使用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>

1 个答案:

答案 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="&#xD;&#xA;" Multiline="true" />
    </Fields>
  </LogLine>
</LogFormat>

日期周围有奇怪的空格,所以我更改了分隔符以消耗它们。我还为最后一个字段添加了分隔符,并使其支持每条消息多行。

在即将到来的更新中,我将使日志查看器在日期和数字周围自动修剪空格。

P.S。请不要犹豫,通过LL网站上的电子邮件给我打电话来帮助你。