在项目中使用了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中进行配置。 后面有时间再研究下是个什么原因。

log4jdbc 与 logback 集合打印日志过多的解决的更多相关文章

  1. log4jdbc与logback集合打印日志过多的解决

    在项目中使用了log4jdbc,可以很方便的把sql的参数也打印出来,便于问题调试.比如原始sql: select * from t_order where order_id = ? : 经过log4 ...

  2. Tomcat控制台总是打印日志问题的解决办法

    问题 使用gradle启动项目,在tomcat控制台中不停地打印perf4j性能日志,导致开发过程很卡很慢.明明修改了logback.xml配置文件,让它输出到log文件中,而不是控制台,但是不起作用 ...

  3. Logback分别打印info日志和error日志

    <?xml version="1.0" encoding="utf-8" ?><configuration> <appender ...

  4. springboot aop + logback + 统一异常处理 打印日志

    1.src/resources路径下新建logback.xml 控制台彩色日志打印 info日志和异常日志分不同文件存储 每天自动生成日志 结合myibatis方便日志打印(debug模式) < ...

  5. 用SLF4j/Logback打印日志-3

    在 用SLF4j/Logback打印日志-1 和 用SLF4j/Logback打印日志-2 中分别介绍了Logback记录日志的基本原理并重点介绍了输出源配置.本篇介绍一些性能和技巧性的东西. 性能 ...

  6. Spring Boot(三):logback打印日志

    springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能直接贴代码: <?xml version="1.0 ...

  7. springboot中logback打印日志(转)

    springboot对logback的支持是非常好的,不需要任何配置,只需要在resource下加logback.xml就可以实现功能 直接贴代码: <?xml version="1. ...

  8. Spring Boot 集成日志logback + 控制台打印SQL

    一: 控制台打印SQL application.properties中添加如下即可在控制台打印sql logging.level.com.fx.fxxt.mapper=debug 二:日志 因为Spr ...

  9. log4j2和logback动态修改日志级别工具类

    工作中,在排查线上问题时,有以下场景在不重新部署或重启服务的情况下,需要动态调整线上日志级别 1.线上有些日志打印过多干扰有用的日志,需要动态修改线上日志记录器的打印日志级别,调高一些日志级别,打印出 ...

随机推荐

  1. POJ2061 Subsequence 2017-05-25 19:49 83人阅读 评论(0) 收藏

    Subsequence Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 14709   Accepted: 6210 Desc ...

  2. bootstrap1.3

    <html>   <head>   <meta charset="UTF-8">   <title></title>   ...

  3. CSS 基础 例子 伪元素和伪类 & 区别

    一.概念 CSS 伪类 -------向某些选择器添加特殊的效果,要达到同等效果,通过类来达到效果 CSS 伪元素     -------将特殊的效果添加到某些选择器,要达到同等效果,通过添加元素达到 ...

  4. ElementTriArgyris

    class ElementTriArgyris(ElementH2): nodal_dofs = 6 facet_dofs = 1 dim = 2 maxdeg = 5 def gdof(self, ...

  5. 微擎开启性能优化里面的性能优化memcache内存优化及数据库读写分离

    http://www.mitusky.com/forum.php?mod=viewthread&tid=3135 [微擎 安装使用] 微擎开启性能优化里面的性能优化memcache内存优化及数 ...

  6. Jquery学习(表单-Button)-----jQuery1.4.2

    <html> <head> <base href="<%=basePath%>"> <title>My JSP 'jqu ...

  7. ASP.NET自定义错误页并返回正确的500、404状态码

    在项目中,我们常常需要自定义错误页面,但往往返回的状态码都变成了200,对SEO很不友好.我尝试过在百度上寻找解决方案,但找到的资料中说的方法都试过了,发现都是无法返回正确的状态码的. 最后,只好自已 ...

  8. 第一章 在.net mvc生成EF入门

    一. 打开Visual Studio 2017(我使用的是2017) 新建一个mvc项目 命名为StudentEntity 二.1)建立完项目后在项目中右击选择新建项,找到ADO.NET实体数据模型 ...

  9. jQuery获取Table某列的值

    在写此篇博文时,发现在以前曾写过<获取DataTable选择第一行某一列值>http://www.cnblogs.com/insus/p/5434062.html . 但是与此篇所说的完全 ...

  10. JVM活学活用——类加载机制

    类的实例化过程 有父类的情况 1. 加载父类静态    1.1 为静态属性分配存储空间并赋初始值     1.2 执行静态初始化块和静态初始化语句(从上至下) 2. 加载子类静态    2.1 为静态 ...