log4jdbc与logback

在项目中使用了log4jdbc,可以很方便的把sql的参数也打印出来,便于问题调试。比如原始sql: select * from t_order where order_id = ? ; 经过log4jdbc的处理后就变成了 select * from t_order where order_id = 123。 但是经过这个处理以后,默认会打印sql相关的很多信息,比如连接、执行时间、参数绑定、结果等信息, 会使日志打印迅速膨胀,我这里服务调用比较频繁,有两个定时任务在调用服务,日志每天在50G左右。于是在 log4jdbc.properties 进行了相关配置,但是没有什么效果。 后来在logback.xml 增加了如下配置:

    <logger name="jdbc.sqlonly" level="ERROR">
        <appender-ref ref="rollingFile"/>
    </logger>
    <logger name="jdbc.audit" level="ERROR">
        <appender-ref ref="rollingFile"/>
    </logger>
    <logger name="jdbc.resultset" level="ERROR">
        <appender-ref ref="rollingFile"/>
    </logger>
    <logger name="jdbc.connection" level="ERROR">
        <appender-ref ref="rollingFile"/>
    </logger>

将jdbc.only, jdbc.audit, jdbc.resultset, jdbc.connection 的打印级别设置为ERROR, 减少了这部分的打印,大家可根据自己的需求进行配置级别。经过优化后每天在1G以内。

附log4jdbc.properties的配置如下:

log4j.logger.jdbc.sqlonly=DEBUG,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n
log4j.logger.jdbc.sqltiming=DEBUG,console
log4j.logger.jdbc.connection=DEBUG,console

曾尝试在以上文件中修改DEBUG为ERROR、OFF 都无效。 猜想是因为logback接管了log的输出配置,所以必须在logback中进行配置。 后面有时间再研究下是个什么原因。

时间: 2024-10-25 13:59:06

log4jdbc与logback的相关文章

logback与Spring、SpringMVC结合使用教程

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要介绍了如何在spring.springMVC中使用logback 一.logback与Spirng结合使用 1.maven添加引用: <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.versio

通过weblogic配置log4jdbc数据源,在项目中使用该数据源,输出sql

说一下配置: 服务器weblogic 项目使用的是spring管理Bean,数据源配置也是基于Spring的dbcp数据源,并且用log4jdbc进行sql日志打印,采用logback+slf4j日志打印.log4jdbc能够很好打印sql,并且参数也带上了,这在项目开发与后期系统出现的问题查找原因都有很大的帮助. 数据库配置如下: jdbc.driverClassName=net.sf.log4jdbc.DriverSpy jdbc.url=jdbc:oracle:thin:@ip:port/

log4jdbc 使用

像 hibernate, mybatis 都是不打印真正执行的sql的,所以借助 log4jdbc 打印sql以及统计执行时间是非常方便的. 配置log4jdbc 有很多种方法,比如通过spring的拦截器.最简单的方法就是在jdbc.url 连接参数加上log4jdbc,然后引入相应的log4jdbc包即可. COMMENT 原连接参数: jdbc.url=jdbc:mysql://127.0.0.1:3306/theme?characterEncoding=utf-8 COMMENT 加入l

log4jdbc实现慢查询sql记录

首先,明确一个概念,这个也是之前一直没怎么搞清楚的: log4jdbc一共有三个分支,log4jdbc是原版,最近终于加入Maven的主仓库中,fork之一是log4jdbc-remix,后来又再fork了一个log4jdbc-log4j2. 原版Log4jdbc:https://code.google.com/p/log4jdbc/ github地址:https://github.com/arthurblake/log4jdbc log4jdbc-remix地址:http://code.goo

logback与Spring、SpringMVC结合使用教程(转)

摘要:本文主要介绍了如何在spring.springMVC中使用logback 一.logback与Spirng结合使用 1.maven添加引用: <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>${log4j.version}</version> </dependency> <dependency

java web工程中logback换配置文件的路径

本人小网站:   http://51kxd.com/  欢迎大家不开心的时候访问访问,调节一下心情 web.xml中配置: <!-- windows  logback.xml文件跟web容器(比如tomcat)在同一个目录中.linux随意  --> <context-param> <param-name>logbackConfigLocation</param-name> <param-value>file:/datum/Data/conf/c

如何加载指定路径的Logback.xml

今天想外置logback.xml,谢了如下代码 File logbackFile = new File("./conf/logback.xml"); if (logbackFile.exists()) { LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory(); JoranConfigurator configurator = new JoranConfigurator(); configurator.s

logback logback.xml 常用配置详解

一:根节点 包含的属性: scan: 当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true. scanPeriod: 设置监测配置文件是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒.当scan为true时,此属性生效.默认的时间间隔为1分钟. debug: 当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态.默认值为false. 例如: <configuration scan="true" scan

踩坑记(1)——使用slf4j+logback记录日志

jar包版本: <spring.version>3.1.0.RELEASE</spring.version> <slf4j.version>1.7.25</slf4j.version> <logback.version>1.2.3</logback.version> <logback.ext.version>0.1.1</logback.ext.version> commons-logging:scope为pr