`
kingxss
  • 浏览: 973346 次
  • 性别: 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>

 

 

分享到:
评论

相关推荐

    React组件通信解决方案.docx

    在这个解决方案中,我们将探索一种不借助 Redux 等第三方库的方法来实现组件之间的通信。 首先,让我们来了解一下组件之间的通信的需求。在 React 中,组件可能是父子组件、兄弟组件或完全不相关的组件。当我们需要...

    后端异常统一处理解决方案

    这篇博客“后端异常统一处理解决方案”主要探讨了如何在Spring Boot、SSM(Spring、Spring MVC、MyBatis)框架中有效地管理和处理异常,提供了一种优化的方法来提升应用程序的健壮性。 首先,Spring Boot以其简洁的...

    微服务请求日志统一处理方案

    "微服务请求日志统一处理方案"旨在解决这个问题,通过创建一个独立的日志组件,实现对各个微服务请求日志的标准化输出。 首先,我们看到一个名为`TimeCostEnum`的枚举类,它定义了请求处理耗时的不同级别。这个枚举...

    log4j相关jar包

    总结来说,"log4j相关jar包"包含了多种日志解决方案,旨在提供灵活、高效的日志记录服务。SLF4J作为抽象层,提高了日志系统的可移植性;log4j2作为log4j的升级版,提升了性能和功能;桥接包则确保了不同日志框架间的...

    log4j+slf4j实现 log4j测试代码,log4j+slf4j实现 log4j测试代码

    Log4j和SLF4J(Simple Logging Facade for Java)是两个广泛使用的日志框架,它们各有优势并常被一起使用以提供更灵活的日志解决方案。本文将详细探讨如何通过SLF4J接口来使用Log4j进行日志记录,并展示一个测试代码...

    JAVA应用开发日志解决方案

    目前,市场上流行的日志解决方案主要有Log4j、Log4j+JCL以及Log4j+SLF4J等。本文将详细介绍这些日志框架的配置与使用方法。 #### 1.1 下载所需组件 为了进行日志框架的学习与实践,首先需要准备以下组件: 1. **...

    如何使用Log4j如何使用Log4j

    无论是Windows还是Linux系统下的GUI应用,或者是网络追踪、Windows NT/2000事件记录以及UNIX Syslog等场景,Log4j都能够提供统一的日志记录解决方案。 #### 二、Log4j的安装与配置 在开始使用Log4j之前,我们需要...

    log4javascript-1.3.1

    `log4javascript`是基于JavaScript的日志记录框架,它提供了一套完整的解决方案,包括各种日志级别(如DEBUG、INFO、WARN、ERROR和FATAL),以及灵活的日志输出方式。通过使用该库,开发者可以在控制台、文件、...

    apache apr & log4

    Apache APR (Apache Portable Runtime) 和 Log4 是两个在IT领域中广泛应用的开源组件,主要服务于Apache软件基金会的项目。它们分别扮演着不同的角色,但在构建高效、可靠的服务器端应用程序时,两者都起着至关重要...

    最新最全log4Net

    **正文** ...其广泛的.NET框架支持、高度的配置灵活性和强大的功能,使得log4Net成为.NET开发者首选的日志解决方案。通过深入理解和熟练运用,开发者可以更好地进行故障排查、性能监控和系统维护。

    log4j详解(超详细)

    - **跨平台支持**:无论是Windows还是Unix系统,甚至是特定的日志服务(如Syslog),Log4j都能提供一致的日志记录解决方案。 - **多语言兼容**:除了Java,Log4j还支持C++、.NET、PL/SQL等语言,这使得它成为了多...

    log4j-1.2.16.jar、slf4j-api-1.6.1.jar、slf4j-log4j12-1.6.1.jar资源包

    总之,`log4j-1.2.16.jar`、`slf4j-api-1.6.1.jar`和`slf4j-log4j12-1.6.1.jar`的组合提供了强大而灵活的日志解决方案,使得Java开发者能够便捷地调试、监控和优化他们的应用程序,同时保持代码的简洁性和可移植性。...

    Java Log4j使用详解

    这个包提供了一套完整的日志记录解决方案,包括日志记录器、处理器、格式化器等组件。与JCL不同,它是一个完整的日志记录系统,而不仅仅是接口。 ##### 3.2 使用Logger 1. **获取Logger实例**: ```java Logger ...

    log4j必须的jar包

    这三个库组合在一起,可以提供一个完整的日志解决方案。通过commons-logging的接口,开发者可以在代码中使用一致的日志API,而具体的日志输出则由log4j控制,同时commons-discovery可以辅助进行更高级的管理和监控。...

    Log4j手册

    Log4j是一个功能强大且高度可定制的日志框架,它通过其独特的Logger、Appender和Layout组件,为开发者提供了灵活的日志记录解决方案。无论是大型企业级应用还是小型项目,Log4j都能提供合适的日志管理方案,帮助...

    log4Net 资料

    ### log4Net深入解析与应用 #### 一、log4Net概述 ...总之,log4Net以其灵活的配置、广泛的适用性和出色的性能,成为了.NET开发领域不可或缺的日志记录解决方案,为软件开发、运维及后续的数据分析提供了坚实的基础。

    LOG4NET及网上找的使用说明

    它是基于Apache的log4j项目发展而来的,旨在提供一个灵活、强大的日志记录解决方案,帮助开发者在.NET应用程序中实现可靠且高效的日志记录。LOG4NET支持多种输出方式,包括控制台、文件、数据库、Windows事件日志等...

    Log4Net日志实践

    Log4Net作为.NET平台上的日志解决方案,以其灵活性和强大的功能深受开发者喜爱。通过合理的配置和使用,可以帮助开发者更有效地进行问题排查、系统监控和维护。理解并掌握Log4Net的使用,对于提升软件开发效率和...

    规划一个SharePoint的解决方案 .txt

    在规划一个SharePoint解决方案时,我们首先需要理解SharePoint的本质及其在企业级应用中的角色。SharePoint是由微软开发的企业级协作平台,集成了文档管理、团队协作、网站创建、数据分析等多功能于一体,为企业提供...

    日志 log4j-slf4j+logback1.3.0

    总的来说,"log4j-slf4j+logback1.3.0"的组合提供了一个强大、灵活的日志解决方案,允许开发者使用统一的API进行日志记录,同时利用Logback的高性能和丰富特性。通过正确配置这些组件,开发者可以轻松管理和优化Java...

Global site tag (gtag.js) - Google Analytics