C# NLog不保留空格
我正在尝试为我的C#应用程序配置NLog。我已经让日志工作,但它似乎有一个自己的想法关于空白。这是我的C# NLog不保留空格,c#,xml,string-formatting,nlog,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:schemaLo
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>
日志的输出当前如下所示:
2016-05-19 12:08:00.0302 | DEBUG | Namespace.ClassName |:这里有一些日志消息
出于某种原因,NLog正在清除我在目标
的布局
属性中定义的空间。我希望日志条目的外观是:
2016-05-19 12:08:00.0302 | DEBUG | Namespace.ClassName |:这里有一些日志消息
如何让NLog保留布局属性中的空格?
我还尝试将
级别设置为固定长度,并使用如下填充方式:${padding:padding=5,fixedlength=true:${level:uppercase=true}}
,如中所述,但仍然不走运。我发现,当解决方案的路径中有
字符时,NLog的效果不好。重命名了路径并重新开始工作。文件和控制台输出中是否都出现这种情况?您使用的是哪个版本的NLog?@Amy是的,它在文件和控制台中都有发生。我使用的是.Hm中最新的版本(4.3.4),无法使用该版本和您的配置进行复制。如果你创建一个新的项目并使用这个配置,它也会在那里发生吗?@Amy我会试一试并报告。谢谢。@Amy我的代码有些问题……不确定是什么问题,但我能够获得一个全新的项目来使用NLog而没有问题……但问题仍然存在于我当前的项目中。哦,好吧,我想我只需要继续挖掘。谢谢你的帮助。