【日志】Java日志工具(common-logging/log4j/slf4j)在常用框架(Struts2/Spring/Hibernate/Mybatis)中的灵活运用

原创 2015年11月20日 11:45:12

Java日志工具(common-logging/log4j/slf4j)在常用框架(Struts2/Spring/Hibernate/Mybatis)中的灵活运用


Spring :Commons-Logging

Struts :有自身默认的日志工具,间接的优先支持 Commons-Logging
Hibernate :直接的使用 Slf4J
iBatis/MyBatis :有自身默认的日志工具,间接的优先使用 Slf4J


1.加入slf4j.jar  +  slf4j-log4j.jar  +  log4j.jar     可让用slf4j(1.6版本)日志工具的框架(Hibernate、MyBatis)将日志托管给log4j管理;


2.加入slf4j.jar  +  slf4j-jcl.jar  +  commons-logging.jar 可让用slf4j日志工具的框架(Hibernate、MyBatis)将日志托管给common-logging管理;


3.加入slf4j.jar  +  slf4j-jcl.jar +  commons-logging.jar + log4j.jar  可让用slf4j日志工具的框架(Hibernate、MyBatis)将日志托管给log4j管理,和1的效果一样,

 (需要在commons-logging.properties中加入org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory);


4.加入commons-logging.jar  +  jcl-over-slf4j.jar +  slf4j.jar  可让默认用 commons-logging日志工具的框架(Spring、Struts2)将日志托管给slf4j管理;


5.加入commons-logging.jar  +  log4j.jar  可让默认用 commons-logging日志工具的框架(Spring、Struts2)将日志托管给log4j管理;

 (需要在commons-logging.properties中加入org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory);


6.加入commons-logging.jar  +  log4j.jar  +  log4j-over-slf4j.jar  +  slf4j-jcl.jar 可让默认用 commons-logging日志工具的框架(Spring、Struts2)将日志托管给slf4j管理;

 (需要在commons-logging.properties中加入org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory);


7.加入commons-logging.jar可让使用自身日志工具的框架(Struts2)将日志托管给commons-logging管理;


8.加入slf4j.jar 可让使用自身日志工具的框架(iBatis/MyBatis)将日志托管给slf4j.jar管理;


注意:上面包的排列顺序代表着日志托管顺序。写这些主要是因为在一个java项目中往往要用到多个java框架,而不同的框架所用日志机制各有不同,具体使用什么日志工具可根据情况灵活使用。

common-logging、log4j、slf4j、logback 日志组件的区别

(一) 现象与解决方法前些天在进行storm job的开发时候突然报了一个错误,记录一下Caused by: java.lang.NoClassDefFoundError: Could not ini...
  • daiyutage
  • daiyutage
  • 2016年08月02日 15:26
  • 1150

有关spring的Common-Logging和日志门面Slf4j介绍以及选择问题

Apache Common-Logging是广泛使用的Java日志门面库。我以前一直都使用它和log4j编写日志。  Apache Common-Logging通过动态查找的机制,在程序运行时自动找出...
  • yang__1012
  • yang__1012
  • 2016年10月29日 11:23
  • 665

MyBaits 无法打印sql语句到控制台, Log4j和slf4j-api冲突解决方案

Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种方式: SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging 具体选择哪个日...
  • xlxxcc
  • xlxxcc
  • 2016年09月30日 14:29
  • 1873

JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j

1. 加入log4j和slf4j的jar包 2. web.xml:   log4jConfigLocation /WEB-INF/classes/log4j.properties --> ...
  • jjwwmlp456
  • jjwwmlp456
  • 2015年03月17日 16:31
  • 6477

commons-logging和slf4j两种日志门面的使用

转:http://blog.csdn.net/zilong0536/article/details/53021918 版权声明:本文为博主原创文章,未经博主允许不得转载。 ...
  • pzasdq
  • pzasdq
  • 2017年03月20日 14:32
  • 290

Spring MVC中添加log4j日志,及用slf4j做扩展

添加log4j日志web.xml log4jConfigLocation /WEB-INF/log4j.xml ...
  • wangdachui95345
  • wangdachui95345
  • 2016年08月01日 10:36
  • 399

Hibernate学习:slf4j日志框架

一:首先来看一个图 commons-logging和slf4j都是日志的接口,供用户使用,而没有提供实现!后面的log4j,slf4j-nop等才是他们的实现。 ...
  • u013628152
  • u013628152
  • 2015年02月05日 22:06
  • 1495

spring+springmvc +mybatis log4j记日志

step 1 :  配置log4j 配置文件。              1. 根目录配置: 例: log4j.rootLogger = INFO,Console,Daily             ...
  • liveinjingshan
  • liveinjingshan
  • 2017年04月04日 13:26
  • 450

Java日志,需要知道的几件事(commons-logging,log4j,slf4j,logback)

如果对于commons-loging、log4j、slf4j、LogBack等都已经非常清楚了,可以忽略本文。几次解决日志冲突问题时对这几个概念的简单总结,希望对这块基础没有理解透的同学能有所帮助,当...
  • kobejayandy
  • kobejayandy
  • 2013年12月15日 17:00
  • 7029

在Java项目中如何使用log4j和slf4j实现日志打印

什么是log4j? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog...
  • xiao_mengxi
  • xiao_mengxi
  • 2017年02月07日 15:33
  • 6152
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【日志】Java日志工具(common-logging/log4j/slf4j)在常用框架(Struts2/Spring/Hibernate/Mybatis)中的灵活运用
举报原因:
原因补充:

(最多只允许输入30个字)