`
kingxss
  • 浏览: 969372 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

项目中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 start -->
<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.17</version>
</dependency>
<!-- log4j end -->
<!-- slf4j bound to Log4j start -->
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-api</artifactId>
	<version>1.7.2</version>
</dependency>
<dependency>
	<groupId>org.slf4j</groupId>
	<artifactId>slf4j-log4j12</artifactId>
	<version>1.7.2</version>
</dependency>
<!-- slf4j bound to Log4j end -->

   具体可以查看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依赖情况如下:

<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-api</artifactId>
	<version>2.0-beta4</version>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j</groupId>
	<artifactId>log4j-core</artifactId>
	<version>2.0-beta4</version>
</dependency>
<dependency>
	<groupId>org.apache.logging.log4j.adapters</groupId>
	<artifactId>log4j-slf4j-impl</artifactId>
	<version>2.0-beta4</version>
</dependency>

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

 

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

    在ApplicationContext.xml中配置如下:

<!-- log4j配置 -->
<bean id="log4jInitialization" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
	<property name="targetClass" value="org.springframework.util.Log4jConfigurer" />
	<property name="targetMethod" value="initLogging" />
	<property name="arguments">
		<list>
			<value>file:/opt/rms/config/log4j.xml</value>
		</list>
	</property>
</bean>

 

 

分享到:
评论

相关推荐

    asp.net知识库

    一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与...

    RapidWebDev框架源码

    实践证明,它可以让项目节省超过50%的代码,并且代码质量和开发效率比其他的解决方案都要高出很多 设置Xml Schema 复制如下XML定义文件(C:\MyProject\RapidWebDev\xml schema\目录下找到它们)到你vs2008的Schemas...

    腾讯开源的分布式毫秒服务引擎 msec.zip

    10年的海量服务开发运营经验和教训使得我们深刻的认识到:要尽早规范团队的开发服务框架,避免到了后期,各种开发语言混杂、各类存储组件充斥、重复编码、每个模块形态不统一、文档缺失、监控瘫痪、人员离职造成大量...

    olaf-react-next-pc::smiling_face_with_horns:企业级前一级集成解决方案。React+ Next + Redux Saga + KOA +不可变

    奥拉夫(Olaf):企业级前整合解决方案 特性 前一级开箱即用 前端 同构应用:实现服务端渲染首屏优化,客户端渲染组件动态加载,按需自由切换 状态管理: , ,,服务端与客户端共享存储,优化性能,动作/减少器/ ...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例004 根据需要创建所需解决方案 6 1.2 Visual Studio开发环境的使用 8 实例005 为程序设置版本和帮助信息 8 实例006 设置Windows应用程序启动窗体 9 实例007 统一窗体中控件的字体设置 10 实例008 通过“格式”...

    LogSystem:kafka+etcd+es+kibana日志系统

    解决方案把机器上的日志实时收集,统一存储到中心系统然后再对这些日志建立索引,通过搜索找到对应日志通过提供友好的web页面,通过web即可完成日志搜索3.面临的问题实时日志量非常大, 每天几十亿条日志准时收集, 延迟...

    基于jbpm与activiti的工作流平台技术架构介绍

    BPMX3是基于J2EE开源、轻量级的企业业务开发平台,基于代码重用、组件重用、业务逻辑重用、组装重用,结合快速开发平台中的工具,将开发人员从重复的代码编写中解放出来,把更多的精力集中解决客户的业务逻辑处理上...

    alibabacloud-console-chart:阿里云管平台-“开箱即用”的图表组件库 :chart_increasing:

    Console Chart 是阿里云云管控解决方案开发套件的一部分,旨在为用户提供一款开箱即用、统一视觉方案的图表组件库。 Install npm install @alicloud/console-chart --save Usage // 引入组件 import { ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    全书一共被压缩为5个rar,这是第二个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    全书一共被压缩为5个rar,这是第五个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    全书一共被压缩为5个rar,这是第四个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    全书一共被压缩为5个rar,这是第三个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...

    arktos:适用于大规模云平台的Arktos

    Arktos旨在成为一种开源解决方案,以应对大规模云的关键挑战,包括系统可伸缩性,资源效率,多租户,边缘计算,以及对快速增长的现代工作负载(例如容器和无服务器功能)的本地支持。建筑学主要特点可扩展性大...

    单点登录源码

    - 一站式支付解决方案,统一下单接口,支持支付宝、微信、网银等多种支付方式。不涉及业务的纯粹的支付平台。 - 统一下单(统一下单接口、统一扫码)、订单管理、数据分析、财务报表、商户管理、渠道管理、对账系统...

    hoobs-core:认证的HOOBS堆栈

    我们希望创建一个解决方案,即使是初学者也可以理解,满意并从中受益匪浅。文献资料法律HOOBS:trade_mark:位于:HOOBS Inc. CP 3211 L'Assomption,QC J5W 4M9,加拿大HOOBS和HOOBS徽标是HOOBS Inc.的注册商标。...

    微软活动目录管理管理简明手册

    LDAP协议规范表明,一个活动目录对象可以由一系列域组件、OU和普通名字来代表,它们组成了活动目录中的命名路径。LDAP命名的路径是用来访问活动目录对象的,它包括了下面的两类:% T* B4 E: k( {8 ^ 9 U& n1 d0 J; Q...

Global site tag (gtag.js) - Google Analytics