xkcoding/spring-boot-demo

[BUG] demo-orm-jdbctemplate 中,日志打印问题

zornx5 opened this issue · 5 comments

描述问题

在日志打印 SQL 参数时,基本数据类型使用 JSONUtil.toJsonStr() 无法 JSON 序列化,导致日志打印内容为空

  • deleteById()
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】SQL:DELETE FROM `orm_user` where id = ?
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】参数:{}
  • 以及 findOneById()
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】SQL:SELECT * FROM `orm_user` where id = ?
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】参数:{}

期待的结果

  • deleteById(1)
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】SQL:DELETE FROM `orm_user` where id = ?
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】参数:1
  • 以及 findOneById(1)
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】SQL:SELECT * FROM `orm_user` where id = ?
c.x.orm.jdbctemplate.dao.base.BaseDao    : 【执行SQL】参数:1

截屏或录像

改进建议

此处参数数量仅为 1,打印时无需使用 JSONUtil.toJsonStr(),直接打印即可

如:log.debug("【执行SQL】参数:{}", JSONUtil.toJsonStr(pk)); -> log.debug("【执行SQL】参数:{}", pk);

我来提一个fix 这个issues