项目中Log组件不统一解决方案

这里以Log4j 和 slf4j为例子。

1. 项目使用Log4j 1的情况

        项目研发过程中,慢慢会加入各种组件,比如ActiveMQ、jbpm、quartz等,同时发现启动项目时控制台打印了很多这些组件的日志,而用项目中原本使用的lof4j 1.x配置文件并不能控制这些日志的打印,分析发现引入的这些技术使用的是slf4j控制日志,于是需要将slf4j和log4j的整合。解决方案是保留原本的log4j的jar包,删除slf4j-1.x.jar,然后导入slf4j-api-1.x.jar和slf4j-log4j12-1.x.jar两个jar包,这样就可以用log4j的配置来控制slf4j的打印了。maven依赖如下:


	log4j
	log4j
	1.2.17




	org.slf4j
	slf4j-api
	1.7.2


	org.slf4j
	slf4j-log4j12
	1.7.2

   具体可以查看slf4j官网:http://www.slf4j.org/manual.html

 

2. 项目使用Log4j 2的情况

    log4j现在有2.x版本了,这时整合slf4j1.x需要保留log4j-2.x.jar,增加log4j-slf4j-impl-2.x.jar,maven依赖情况如下:


	org.apache.logging.log4j
	log4j-api
	2.0-beta4


	org.apache.logging.log4j
	log4j-core
	2.0-beta4


	org.apache.logging.log4j.adapters
	log4j-slf4j-impl
	2.0-beta4

 具体参考log4j官网:http://logging.apache.org/log4j/2.x/build.html

 

3. 在web容器中使用Spring加载外部log4j配置文件

    在ApplicationContext.xml中配置如下:


	
	
	
		
			file:/opt/rms/config/log4j.xml
		
	

 

 

你可能感兴趣的:(FixBug)