如何摆脱Nlog消息中的“ \\”?

时间:2019-03-25 17:57:16

标签: elasticsearch nlog

我正在使用Nlog将消息记录到Elasticsearch。这些消息通常包含文件路径名。 Nlog似乎在每个文件路径中都转义了“ \”字符,我想避免这种情况。 encode =“ false”属性不适用于用于配置Elasticsearch目标的“ field”标记。还有没有其他方式来存储文件路径而没有多余的“ \”?

1 个答案:

答案 0 :(得分:0)

我已经对文档进行了更彻底的搜索,并发现了“替换布局渲染器”。在我的情况下,这似乎是可行的:

<variable name="replacedstring" value="${replace:searchFor=\\:wholeWords=false:replaceWith=/:regex=false:inner=${message}}" />

您只需在Nlog.config文件中定义变量,然后在通常使用包含预修改字符串(内部属性)的布局的地方使用它。我希望这就是我想要的。我还想知道是否可以在同一个变量中定义多个模式。例如,我们要在同一内部字符串上用“ /”替换“ \”,同时要用“-”替换“ \ r \ n”。有谁知道使用此特定渲染器是否可行?文档对此一言不发。