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

Spring Boot中Logback DB Appender如何填充logging_event表的arg0字段?

填充Logback DB Appender的logging_event表arg字段方法

这些arg0、arg1等字段对应日志的参数化占位符值,必须通过SLF4J的参数化日志API来填充,不能用字符串直接拼接。

  • 错误写法(不会填充arg字段):

    log.info("用户ID: " + userId + " 操作资源: " + resourceName);
    

    这种方式Logback只会把拼接后的完整字符串存入formatted_message字段,arg系列字段会留空。

  • 正确写法(自动填充arg字段):

    // 单个参数,对应arg0
    log.info("用户ID: {}", userId);
    // 多个参数,依次对应arg0、arg1
    log.info("用户ID: {} 操作资源: {}", userId, resourceName);
    

    使用{}作为占位符,调用带Object...参数的日志方法(info/debug/warn/error等),Logback会自动把占位符对应的参数依次存入arg0、arg1...字段;如果参数是长文本或复杂对象,会同时存入对应的arg0_clob、arg1_clob等大字段(对象会调用其toString()方法序列化)。

  • 复杂参数示例:

    UserDto user = new UserDto(1L, "张三");
    // arg0会存入user.toString()的结果
    log.debug("用户详情: {}", user);
    

只要遵循参数化日志的写法,Logback的DB Appender就会自动完成arg系列字段的填充,不需要额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:06:38