这里以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>
相关推荐
一完美的关于请求的目录不存在而需要url重写的解决方案! 在C#中实现MSN消息框的功能 XmlHttp实现无刷新三联动ListBox 鼠标放在一个连接上,会显示图片(类似tooltip) 使用microsoft.web.ui.webcontrols的TabStrip与...
实践证明,它可以让项目节省超过50%的代码,并且代码质量和开发效率比其他的解决方案都要高出很多 设置Xml Schema 复制如下XML定义文件(C:\MyProject\RapidWebDev\xml schema\目录下找到它们)到你vs2008的Schemas...
10年的海量服务开发运营经验和教训使得我们深刻的认识到:要尽早规范团队的开发服务框架,避免到了后期,各种开发语言混杂、各类存储组件充斥、重复编码、每个模块形态不统一、文档缺失、监控瘫痪、人员离职造成大量...
奥拉夫(Olaf):企业级前整合解决方案 特性 前一级开箱即用 前端 同构应用:实现服务端渲染首屏优化,客户端渲染组件动态加载,按需自由切换 状态管理: , ,,服务端与客户端共享存储,优化性能,动作/减少器/ ...
实例004 根据需要创建所需解决方案 6 1.2 Visual Studio开发环境的使用 8 实例005 为程序设置版本和帮助信息 8 实例006 设置Windows应用程序启动窗体 9 实例007 统一窗体中控件的字体设置 10 实例008 通过“格式”...
解决方案把机器上的日志实时收集,统一存储到中心系统然后再对这些日志建立索引,通过搜索找到对应日志通过提供友好的web页面,通过web即可完成日志搜索3.面临的问题实时日志量非常大, 每天几十亿条日志准时收集, 延迟...
BPMX3是基于J2EE开源、轻量级的企业业务开发平台,基于代码重用、组件重用、业务逻辑重用、组装重用,结合快速开发平台中的工具,将开发人员从重复的代码编写中解放出来,把更多的精力集中解决客户的业务逻辑处理上...
Console Chart 是阿里云云管控解决方案开发套件的一部分,旨在为用户提供一款开箱即用、统一视觉方案的图表组件库。 Install npm install @alicloud/console-chart --save Usage // 引入组件 import { ...
全书一共被压缩为5个rar,这是第二个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第五个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为5个rar,这是第四个!...21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
全书一共被压缩为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旨在成为一种开源解决方案,以应对大规模云的关键挑战,包括系统可伸缩性,资源效率,多租户,边缘计算,以及对快速增长的现代工作负载(例如容器和无服务器功能)的本地支持。建筑学主要特点可扩展性大...
- 一站式支付解决方案,统一下单接口,支持支付宝、微信、网银等多种支付方式。不涉及业务的纯粹的支付平台。 - 统一下单(统一下单接口、统一扫码)、订单管理、数据分析、财务报表、商户管理、渠道管理、对账系统...
我们希望创建一个解决方案,即使是初学者也可以理解,满意并从中受益匪浅。文献资料法律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...