我正在尝试为我的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
填充,但仍然没有运气。
答案 0 :(得分:1)
我发现当解决方案的路径中有#
个字符时,NLog不会很好玩。重命名了路径并重新开始工作。