1

NLogを使用して、すべての .NET アプリケーションをログに記録しています。そして、これらの長いログを簡単に表示できるソフトウェアを探しています。だから合法的なログビューアが私に来る. しかし、ログ ファイルを表示できません。ログ ビューアーに「サポートされていないログ形式」と表示されます。以下は、私の 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>
4

1 に答える 1

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>

日付の周りに奇妙なスペースがあったので、それらを消費するように区切り文字を変更します。また、最後のフィールドに区切り文字を追加し、メッセージごとに複数行をサポートするようにしました。

今後のアップデートでは、ログビューアを作成して、日付と数値の周囲のスペースを自動的にトリミングします。

PSあなたを助けるためにLLのウェブサイトで電子メールを介して私にpingすることを躊躇しないでください。

于 2013-01-13T17:33:29.850 に答える