记录下之前项目中遇到sql日志重复打印的一个问题解决方法.
希望对遇到类似的朋友有帮助.
我们系统是采用jfinal框架做的,数据库的操作框架采用的是dbrecord,每次在系统中进行sql的操作时,都会重复打印3次.导致日志量非常的大.平时在看日志时很费劲,针对这个问题,本地断点跟踪了好多次,最终都没有找到问题.后来,在网上查资料也没有查到对应的问题.问一些大佬,他们说可能是sql执行了多次,可是我们本地调试确认了下,sql就是只执行了一次.无果.最后没办法,学习了下整个的java日志框架体系,了解到java中的门面框架有和Apache Common-Logging,SLF4J.而我们项目中同时引用了这两个jar包.这也是问题产生的原因.后来我把Apache Common-Logging jar包删除.问题解决了,sql重复的日志给干掉了.但是还是有一个坑点,就是jfinal的dbrecord框架自带了一套sql输出日志,但是这个框架的sql日志打印的日志在很多时候参数没有,很不爽,后来我们在系统中引入了log4jjdbc框架.这个框架不仅能打印完整的sql语句带参数.并且还能分析sql的执行时间.问题到这基本是解决了.大家看看效果.`希望能否对遇到这个问题的朋友有所帮助.吐槽下dbrecord的日志.做的是真的不太友好.
以下是一个sql执行的sql日志,上面打印的是dbrecord自带的sql日志,下面是log4jdbc的日志
Sql: insert into sc_bill_pavingbill_goods_dt
(BillDtlID
, BillID
, createTime
, updateTime
, orgId
, orgCode
, entId
, SourceID
, MapKey
, SrcTableName
, SrcKey
, SN
, mixCondition
, rowID
, pf_goodsId
, generalName
, goodsId
, goodsCode
, goodsName
, goodsSpec
, place
, manufacturer
, unit
, num
, approvalNo
, formula
, gcategory
, qualStand
, baseMeas
, listingHolder
, ownerId
, ownerCode
, ownerName
, remark
, exeCode
) values(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2021-02-01 12:47:09,781 INFO sqltiming:370 - insert into sc_bill_pavingbill_goods_dt
(BillDtlID
, BillID
, createTime
, updateTime
,
orgId
, orgCode
, entId
, SourceID
, MapKey
, SrcTableName
, SrcKey
, SN
, mixCondition
,
rowID
, pf_goodsId
, generalName
, goodsId
, goodsCode
, goodsName
, goodsSpec
, place
,
manufacturer
, unit
, num
, approvalNo
, formula
, gcategory
, qualStand
, baseMeas
,
listingHolder
, ownerId
, ownerCode
, ownerName
, remark
, exeCode
) values(‘8a36284f644811eb9b9724418ce1ef06’,
‘8a36284d644811eb9b9724418ce1ef06’, ‘2021-02-01 12:47:08’, ‘2021-02-01 12:47:08’, ‘28beaf39e0d211e9aa8a0242ac110003’,
‘0000000521’, ‘0481f3a70dce11e980f00242ac110002’, ‘’, ‘’, ‘’, ‘’, 1, ‘’, ‘8a362850644811eb9b9724418ce1ef06’,
‘d5ec979af8b611ea8aa40242ac110003’, ‘’, ‘0025e6adf8be11ea8aad0242ac110002’, ‘17999999677’,
‘(露得)清护肤润唇膏/深层护手霜’, ‘4克+56克’, ‘’, ‘强生(中国)有限公司’, 5, 1, ‘国妆特进字J20110332’, 25, 12, ‘’, 1, ‘’,
‘28beaf39e0d211e9aa8a0242ac110003’, ‘0000000521’, ‘江苏圆心医药科技有限公司’, ‘’, ‘’)
{executed in 41 msec}