【问题标题】:NLog - how logging custom data to XMLNLog - 如何将自定义数据记录到 XML
【发布时间】:2011-10-15 10:29:17
【问题描述】:

您好,我需要将温度记录到 XML 文件中。我想要这种格式的 XML

<logs>
   <log>
     <dateTime></dateTime/>
     <value>x</dateTime/>
   <log>
   <log>
     <dateTime></dateTime/>
     <value>x</dateTime/>
   <log>
   <log>
     <dateTime></dateTime/>
     <value>x</dateTime/>
   <log>
</logs>

首先我尝试使用此配置将数据记录到 txt 文件:

<targets>
  <target name="logfile" xsi:type="File" fileName="users.log" layout="${date:format=yyyyMMddHHmmss} ${message}" />
  <target name ="xmlFile" xsi:type="File" fileName="log.xml"/>
</targets>

<rules>
  <logger name="*" minlevel="Info"  writeTo="logFile" /> 
</rules>

问题是信息级别记录所有数据我需要只记录自定义数据。例如,当我只想记录一些字符串时,我不知道必须使用哪种类型的级别。

第二个问题是如何创建 XML 布局?

【问题讨论】:

    标签: c# xml nlog


    【解决方案1】:

    这不是 nlog 的预期目的。它的目的是通过将信息写入一个或多个日志源来帮助您调试应用程序。

    您需要使用某种 XML 序列化程序,它将温度更改写入文件。

    【讨论】:

      【解决方案2】:

      记录“自定义数据”:使用log.Trace(...), log.Debug(...), log.Info(...)实现不同级别的记录。

      XML 布局:查看NLog.LayoutsNLog.LayoutRenderers。注意:这不是一项相对容易的任务,考虑到您无法弄清楚如何实现不同级别的日志记录,您可能希望推迟这项任务并着手进行实际项目。

      编辑:你确定不能只将记录的数据以简单的格式输出到普通的文本文件中,当记录完成后,解析数据并写入 XML 文件?

      【讨论】:

      • 不想刻薄之类的,只是想说这对OP来说可能是一个相对困难的任务......
      猜你喜欢
      • 2012-09-07
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多