Log4j关闭Spring和Hibernate日志打印方式

目录
  • Log4j关闭Spring和Hibernate日志打印
  • Log4j关闭Hibernate日志输出

Log4j关闭Spring和Hibernate日志打印

这里所说的关闭不是全部不打印,只需要修改一下log级别就好了。

普通的info信息其实我们是不看的,所以直接设置成warn或error级别就好了。

#close java-jdbc log out
log4j.logger.java.sql.Connection=ERROR
log4j.logger.java.sql.Statement=ERROR
log4j.logger.java.sql.PreparedStatement=ERROR

#close spring log out
log4j.logger.org.springframework=WARN

#close hibernate log out
log4j.logger.com.opensymphony.oscache=ERROR
log4j.logger.net.sf.navigator=ERROR
log4j.logger.net.sf.acegisecurity=WARN
log4j.logger.net.sf.acegisecurity.intercept.event.LoggerListener=WARN
log4j.logger.org.apache.commons=ERROR
log4j.logger.org.apache.struts=WARN
log4j.logger.org.displaytag=ERROR
log4j.logger.com.ibatis.db=WARN
log4j.logger.org.apache.velocity=WARN
log4j.logger.com.canoo.webtest=WARN
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.SQL=ERROR
log4j.logger.org.hibernate.type=ERROR

Log4j关闭Hibernate日志输出

项目原因,使用Hibernate的时候总会输出大量的相关日志,想要屏蔽掉。

各种搜索之后,发现网上所谓的各种方法:

例如在hibernate配置文件中设置

<!-- 是否显示sql -->
  <property name="show_sql">false</property>
  <!-- 是否格式化sql -->
  <property name="format_sql">false</property>
  <!-- 是否使用注释 -->
  <property name="use_sql_comments">false</property>

或者在log4j配置文件中设置

#log4j for Hibernate
log4j.logger.org.hibernate=WARN

都 没有效果。

我这里最后解决的方法是:在log4j配置文件中额外设置

#log4j for springMVC
log4j.logger.org.springframework=WARN

即可生效。

原因在于,我使用的项目是使用spring对hibernate进行注解配置的。

一些相关日志的输出以spring的配置为主。

所以网上所谓以hibernate为主的相关配置一般是无效的。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 在Spring Boot中如何使用log4j记录日志

    前言 Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback.每种Logger都可以通过配置使用控制台或者文件输出日志内容.本文主要介绍了在Spring Boot中如何使用log4j记录日志,感兴趣的来一起学习学习. 引入log4j依赖 在创建Spring Boot工程时,我们引入了spring-boot-starter,其中包含了spring-boot-s

  • 解决springboot 2.x集成log4j2调试日志无法关闭的问题

    springboot2.x集成log4j2时,始终无法关闭log4j2自身的日志输出 已经做了如下配置: 在log4j2.xml的配置文件中,配置configuration的status属性为OFF: 确认系统所有地方无配置log4j2.debug: 如上配置都无法解决问题,只能从源码着手一探究竟. 从log4j2-api包中,找到StatusLogger,其设置日志输出level的代码如下: private StatusLogger(final String name,final Messag

  • 解决springmvc整合Mybatis的Log4j日志输出问题

    springmvc整合Mybatis的Log4j日志输出 当我们进行web开发的时候总是看到配置的log4j日志在控制台无法显示mybatis的主要是指sql.参数.结果,出现这种问题有两种情况: 第一种情况 下面文档描述的mybatis本身内置很多种日志框架使用,所以如果我们要用具体哪个日志框架,就需要进行相应mybatis配置,或者就是按照mybatis本身规则运行. 问题在这里文档:http://mybatis.github.io/mybatis-3/zh/logging.html 配置方

  • Springboot整合log4j2日志全解总结

    在项目推进中,如果说第一件事是搭Spring框架的话,那么第二件事情就是在Sring基础上搭建日志框架,我想很多人都知道日志对于一个项目的重要性,尤其是线上Web项目,因为日志可能是我们了解应用如何执行的唯一方式. 在18年大环境下,更多的企业使用Springboot和Springcloud来搭建他们的企业微服务项目 ,此篇文章是博主在实践中用Springboot整合log4j2日志的总结. 常用日志框架 java.util.logging:是JDK在1.4版本中引入的Java原生日志框架 Lo

  • Log4j关闭Spring和Hibernate日志打印方式

    目录 Log4j关闭Spring和Hibernate日志打印 Log4j关闭Hibernate日志输出 Log4j关闭Spring和Hibernate日志打印 这里所说的关闭不是全部不打印,只需要修改一下log级别就好了. 普通的info信息其实我们是不看的,所以直接设置成warn或error级别就好了. #close java-jdbc log out log4j.logger.java.sql.Connection=ERROR log4j.logger.java.sql.Statement=

  • SpringCloud Gateway之请求应答日志打印方式

    目录 Gateway请求应答日志打印 第一步 第二步 Gateway全局请求日志打印 把请求体的数据存入exchange 编写全局日志拦截器代码 在代码中配置全局拦截器 Gateway请求应答日志打印 请求应答日志时在日常开发调试问题的重要手段之一,那么如何基于Spring Cloud Gateway做呢,请看我上代码. 第一步 创建RecorderServerHttpRequestDecorator,缓存请求参数,解决body只能读一次问题. public class RecorderServ

  • SpringMVC框架中使用Filter实现请求日志打印方式

    目录 查找资料后确定两种技术方案 1. 使用AOP对所有Controller的方法进行环绕通知处理: 2. 使用Filter拦截所有的Request和Response,并获取body. 最后选择了第二种方式,具体实现记录如下. 具体实现 日志记录过滤器 public class RequestFilter implements Filter{private static final String LOG_FORMATTER_IN = "请求路径:{%s},请求方法:{%s},参数:{%s},来源

  • Log4j如何屏蔽某个类的日志打印

    目录 Log4j屏蔽某个类的日志打印 Log4j屏蔽指定日志 Log4j屏蔽某个类的日志打印 项目中使用的是log4j.properties的方式配置,在项目启动后有一个任务每隔半小时会运行,查不到数据的时候会打印warn级别的日志,由于数量太多想屏蔽该类日志的打印. 网上查找了方法,可以通过设置log4j.logger.xxx=ERROR(xxx代表需要屏蔽的类,ERROR代表该类只打印error及以上级别的日志,如log4j.logger.java.sql.Connection=ERROR)

  • logback关闭某个包的日志操作

    最近想关闭一个包的日志打印,经过一番研究实际上就一句话的事, 一直没成功是因为name写错了. <logger name="packname" level="OFF"> </logger> packname一般是包名,但也可能是其他的名字,这个取决于java代码中写的名字 static final Logger log=LoggerFactory.getLogger("name"); 补充知识:Log4j和logback冲

  • Spring Boot配置AOP打印日志的全过程

    前言 在项目开发中,日志系统是必不可少的,用AOP在Web的请求做入参和出参的参数打印,同时对异常进行日志打印,避免重复的手写日志,完整案例见文末源码. 一.Spring AOP AOP(Aspect-Oriented Programming,面向切面编程),它利用一种"横切"的技术,将那些多个类的共同行为封装到一个可重用的模块.便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性. AOP中有以下概念: Aspect(切面):声明类似于Java中的类声明,在

  • Spring Boot如何通过自定义注解实现日志打印详解

    前言 在我们日常的开发过程中通过打印详细的日志信息能够帮助我们很好地去发现开发过程中可能出现的Bug,特别是在开发Controller层的接口时,我们一般会打印出Request请求参数和Response响应结果,但是如果这些打印日志的代码相对而言还是比较重复的,那么我们可以通过什么样的方式来简化日志打印的代码呢? SpringBoot 通过自定义注解实现权限检查可参考我的博客:SpringBoot 通过自定义注解实现权限检查 正文 Spring AOP Spring AOP 即面向切面,是对OO

  • Log4j 配置日志打印时区的实现方法

    og4j版本:2.8.1 开发桌面程序时遇到一个问题,idea中日志时间和CMD中jar包运行日志时间都正常,使用exe4j打成的exe运行后,日志的时间都要少8个小时,时区变得不对了 网上找了一圈发现没有类似问题的解决办法,后来终于在stack overflow 中找到相应的解决办法 在log4j2.xml配置文件中,进行如下配置即可 <!-- 输出日志格式 --> <PatternLayout pattern="%date{yyyy-MM-dd HH:mm:ss.SSS}{

  • 详解Spring Boot实现日志记录 SLF4J

    在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人皆知的方法了. 其实在开发中我们不建议使用 System.out 因为大量的使用 System.out 会增加资源的消耗. 而Log4j 更为灵活在性能上也相比 System.out 要高,我们可以配置输出级别,可以指定多个日志文件分别记录不同的日志. 使用 System.out 是在当前线程执行的,写入文件也是写入完毕后才继续执行下面的程序.而使用Log工具不但可以控制日志是否输出,怎么输出,它的处理机

  • Springboot异常日志输出方式

    目录 lombok插件使用 统一异常处理 统一日志输出 配置日志级别↓ Logback日志↓ 配置logback日志↓ 安装idea彩色日志插件:grep-console 复制粘贴即可 lombok插件使用 引入依赖,在项目中使用Lombok可以减少很多重复代码的书写.比如说getter/setter/toString等方法的编写 ↓ <!--lombok用来简化实体类--> <dependency> <groupId>org.projectlombok</gro

随机推荐