gpt4 book ai didi

C# NLog - 如何停止用 NLog 替换换行符?

转载 作者:行者123 更新时间:2023-12-04 14:56:58 29 4
gpt4 key购买 nike

我想弄清楚如何阻止 NLog 替换我正在记录的字符串中的换行符。我希望输出包含所有换行符,而不是将整个输出放在一行中。

有人可以帮忙吗?

配置:

<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="udp" xsi:type="NLogViewer" address="udp4://192.168.0.101:7071" />
</targets>

<rules>
<logger name="*" minlevel="Trace" writeTo="udp" />
</rules>
</nlog>

代码:

var logger = LogManager.GetLogger($"Test");
var dumpStr = builder.ToString();
logger.Info(dumpStr);

最佳答案

输出的方式由layout 控制。 message被格式化。您可以使用 ${message:raw=true} 声明告诉它输出原始数据。

default布局是:

${longdate}|${level:uppercase=true}|${logger}|${message}

所以我们将其更改为:

${longdate}|${level:uppercase=true}|${logger}|${message:raw=true}

您可以像这样将此选项添加到您的目标:

<?xml version="1.0" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="udp"
xsi:type="NLogViewer"
address="udp4://192.168.0.101:7071"
layout="${longdate}|${level:uppercase=true}|${logger}|${message:raw=true}"
/>
</targets>

<rules>
<logger name="*" minlevel="Trace" writeTo="udp" />
</rules>
</nlog>

关于C# NLog - 如何停止用 NLog 替换换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67771290/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com