DRUID怎么使用log4j把所有执行的sql记录到.log日志文件?求配置参考

发布于 2021-11-27 11:50:14 字数 583 浏览 752 评论 5

需求说明:使用druid作为数据库连接池,拦截所有执行的SQL语句 

不是使用druid内置昂的监控servlet页面 (/druid/index.html,这个已实现,可以正常访问)  监控的servlet页面可以拦截并看到所有执行的sql 

而是利用log4j、配置log4j.properties在.log日志文件里记录。(我想不但可以通过上面的看到,而且可以自动记录到.log日志文件中)

问题: 根据官方文档,进行了配置,可是 官方文档最关键的地方 log4j.properties里怎么配置的druid 拦截没有任何示例,在这里卡住了。

我的配置如下:

1、XML配置 datasrource (可以正常工作)


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

看透却不说透 2021-12-02 21:56:40

logback 呢?

离去的眼神 2021-12-02 21:21:40

感谢
@wenshao 的关注!

能否归途做我良人 2021-12-01 21:50:54

原来是这样 多谢
@wenshao

梦里兽 2021-12-01 02:46:01

谢谢 @逝水fox  的回答,我把你的内容补充到文档中了。

https://github.com/AlibabaTech/druid/wiki/%E9%85%8D%E7%BD%AE_LogFilter

文档中也介绍了如何开关各种日志配置。

能否归途做我良人 2021-11-30 21:49:59

关注一下,貌似单纯log sql没找见方法,我的配置如下

#system log--------------------------------
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ISO8601} %l %c%n%p: %m%n

log4j.rootLogger=info

# Druid
log4j.logger.druid.sql=warn, stdout
log4j.logger.druid.sql.DataSource=warn, stdout
log4j.logger.druid.sql.Connection=warn, stdout
log4j.logger.druid.sql.Statement=warn, stdout
log4j.logger.druid.sql.ResultSet=warn, stdout

其中把log4j.logger.druid.sql.Statement后面改成debug,然后
appender重新指定成文件,就能基本完成log sql的需要。不过他是连带预编译语句的创建,设置参数,执行这三种一起log的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文