Mybatis3.2的日志输出控制问题

J2EE 码拜 7年前 (2017-04-16) 2274次浏览
本人的javaee项目是用log4j来控制日志输出的,现在有个项目要求不能在日志中打印数据库连接方面的信息,包括连接地址、端口、账号、密码。
例如:
[DEBUG] [org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug(BaseJdbcLogger.java:132)] 2015-10-26 11:31:00 :ooo Using Connection [jdbc:mysql://localhost:3306/mydb?allowMultiQueries=true, UserName=root@localhost, MySQL-AB JDBC Driver]
这个是mybatis的包中打印出来的,这里面在日志中暴露了数据库连接、端口、数据库用户名等信息。
log4j.logger.org.apache.ibatis.logging.jdbc.BaseJdbcLogger.debug=OFF   本人用log4j的控制方法去控制,没有效果。
本人的要求就是要达到:1、打印sql语句、对应参数。2禁止打印数据库连接地址、账号等信息。
本人目前第一个都正常,就是第二个无法控制。
不知道各位有没有好的处理方式,或说谁知道log4j中有没有替换的配置。假如一旦遇到数据库连接的信息就把这段日志控制成打印空字符串。只要不在日志中输出就行了。
本人曾经也想过修改源码,不过太麻烦了,就没考虑。望有经验之士不吝赐教。
解决方案

40

log4j.logger.java.sql.Connection = DEBUG   这个级别可以设置高一点

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Mybatis3.2的日志输出控制问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)