NLog不保留空格

时间:2016-05-19 18:02:48

标签: c# xml string-formatting nlog

我正在尝试为我的C#应用​​程序配置NLog。我已经完成了日志记录工作,但它似乎对空白有自己的想法。这是我的NLog.config

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
      autoReload="true"
      throwExceptions="false"
      internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >

  <variable name="brief" 
            value="${longdate} | ${level} | ${logger} |: ${message}" />
  <variable name="verbose" 
            value="${longdate} | ${machinename} | ${processid} | ${processname} | ${level} | ${logger} |: ${message}" />

  <targets>
    <target name="myLog" xsi:type="File" fileName="myLog.txt" layout="${verbose}" />
    <target name="console" xsi:type="Console" layout="${brief}" />
  </targets>

  <rules>
    <logger name="*" minlevel="Debug" writeTo="myLog" />
    <logger name="*" minlevel="Info" writeTo="console" />
  </rules>
</nlog>

log的输出目前如下所示:

  

2016-05-19 12:08:00.0302 | DEBUG | Namespace.ClassName |:这里有一些日志消息......

由于某种原因,NLog正在摆脱我在target的{​​{1}}属性中定义的空格。我希望日志条目看起来像是:

  

2016-05-19 12:08:00.0302 |调试| Namespace.ClassName |:这里有一些日志消息......

如何让NLog保留layout属性中的空格?

我还试图将layout设置为固定长度,并使用this post中提到的level填充,但仍然没有运气。

1 个答案:

答案 0 :(得分:1)

我发现当解决方案的路径中有#个字符时,NLog不会很好玩。重命名了路径并重新开始工作。