You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NLog中${onexception}布局渲染器无法正常显示含冒号的字面文本问题

问题根源

冒号:是NLog布局语法中的特殊字符,用来分隔同一渲染器下的多个参数。你之前的两种写法都因为冒号被识别为参数分隔符,导致文本被截断/解析失败:

  • 第一种写法没有包裹文本,冒号被识别为onexception渲染器的下一个参数起始位,导致整个inner参数解析错误,无内容输出
  • 第二种写法加了literal但没处理冒号,冒号被识别为literal渲染器的下一个参数起始位,所以末尾冒号被截断

解决方案1(推荐):单引号包裹inner参数值

无需额外引入literal渲染器,直接用单引号包裹要输出的完整文本,内部的特殊字符就会被当做普通文本处理:

${onexception:inner='EXCEPTION THROWN:'}AppName Log Event

解决方案2:适配literal渲染器的写法

如果你的场景确实需要使用literal渲染器,给text参数值加单引号即可保留冒号:

${onexception:inner=${literal:text='EXCEPTION THROWN:'}}AppName Log Event

也可以用反斜杠转义冒号实现相同效果:

${onexception:inner=${literal:text=EXCEPTION THROWN\:}}AppName Log Event

内容的提问来源于stack exchange,提问作者Mike Corrente

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:36:03