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

NLog JsonLayout配置疑问:如何输出正确渲染的日志消息

NLog JsonLayout 正确输出格式化日志消息的解决方法
  • 问题根源:

    • 使用${message:raw=false}时,JsonLayout会对格式化后的消息做Json转义,导致出现不必要的转义引号;
    • 使用${message:raw=true}时,${message}返回的是未替换占位符的原始模板字符串,而非最终格式化内容。
  • 解决步骤:
    将JsonLayout中message字段的布局渲染器替换为${formatted-message:raw=true},配置示例如下:

    { "name": "message", "layout": "${formatted-message:raw=true}" }
    
  • 原理说明:

    • ${formatted-message}直接返回完成占位符替换的最终日志内容,而非原始模板;
    • raw=true参数会阻止JsonLayout对该内容做额外的Json转义,确保消息内容原样输出。

执行测试代码:

var test = "Something";
logger.Info("This is what is stored in the variable: {var}", test);

日志消息将正确输出:This is what is stored in the variable: Something

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:50:31