`

webx加载log4j和logback失败的问题

 
阅读更多

       最近负责一个应用,所有的日志都打入了tomcat_stdout.log里面了,由于业务打点日志太多,导致日志打入一个文件超过20G,这时候由于没有log框架里面log文件分离,当日志打满之后,刷磁盘的时候内存就吃紧,系统告警信息严重影响我们生活了,必须得查了。

        应用属于WebX应用,WebX的日志系统一般是log4j或者是logback。之前是配置好的log4j日志怎么就突然不能正常打日志了呢?

        首先从WebX配置的标准的log4j入手,WebX配置log4j的依赖如下:

 

<dependencies>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.5</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
 并且WebX系统里面需要指定日志系统,当然log4j和logback的日志框架都会配置的日志系统,但是不显式配置就容易混乱,因此要用log4j的日志格式,就必须在web.xml里面配置配置的是log4j的日志系统:

 

 

<web-app>

    <context-param>
        <param-name>logSystem</param-name>
        <param-value>log4j, logback</param-value>
    </context-param>
    ...

</web-app>
 到这里,应用启动后日志已经按照log4j.xml里面的日志文件生成了,但是日志却怎么也打不出来了!!!又一次陷入困境。

 

        但是到这里就是一个通常能遇到的问题了,就是日志系统jar包冲突,或者直接debug到打log的地方,看他们加载了哪个日志框架实例!查看系统打包的文件,发现系统的lib目录下面的包如下:

 

--r-- 1 admin admin     8869 08-19 21:00 slf4j-log4j12-1.7.5.jar
-rw-r--r-- 1 admin admin   489884 08-19 21:00 log4j-1.2.17.jar
-rw-r--r-- 1 admin admin     4463 08-19 21:00 jul-to-slf4j-1.6.1.jar
-rw-r--r-- 1 admin admin    26084 08-19 21:00 slf4j-api-1.7.5.jar
-rw-r--r-- 1 admin admin    16517 08-19 21:00 jcl-over-slf4j-1.7.5.jar
-rw-r--r-- 1 admin admin   358085 08-19 21:00 jakarta.log4j-0.0.0.jar
-rw-r--r-- 1 admin admin   391834 08-19 21:00 log4j-1.2.15.jar
 但是正常的log4j的配置jar包只需要:
-rw-r--r-- 1 admin admin     9753 07-16 10:30 slf4j-log4j12-1.6.1.jar
-rw-r--r-- 1 admin admin   391834 07-16 10:30 log4j-1.2.15.jar
-rw-r--r-- 1 admin admin    17308 07-16 10:29 jcl-over-slf4j-1.6.1.jar
-rw-r--r-- 1 admin admin    25496 07-16 10:30 slf4j-api-1.6.1.jar
-rw-r--r-- 1 admin admin     4463 07-16 10:30 jul-to-slf4j-1.6.1.jar
 因此,可以推断,系统多加载的log4j-1.2.17.jar和jakarta.log4j-0.0.0.jar 可能是导致日志加载失败的原因,因此只需要pom依赖中排除一下就好了!
如果是WebX配置日志系统,可以参考宝宝的WebX文档:
http://openwebx.org/docs/logging.html#webx.logging.webxml
分享到:
评论

相关推荐

    Webx3日志系统的配置

    最后,别忘了在Webx3的启动配置中加载Log4j的配置文件,通常是通过`-Dlog4j.configurationFile=path/to/log4j2.xml`的系统属性来指定。 总结来说,Webx3日志系统的配置涉及到日志框架的选择、配置文件的编写以及...

    Webx3_Guide_Book.rar_tapeov2_webx_webx 开源框架

    8. **日志与监控**:集成日志框架,如Log4j或Logback,便于调试和追踪问题。同时,Webx3 提供了性能监控工具,帮助开发者分析和优化应用性能。 9. **扩展性**:Webx3 的插件机制允许开发者轻松添加自定义功能,如...

    webx总结 项目实践总结

    WebX是一个基于Java的开源Web应用框架,它提供了一种高效、灵活的...参考提供的文档和资源,如《Webx配置文件加载顺序与作用.docx》、《webx基础.docx》和《表单验证webx.pptx》,将有助于进一步提升WebX的使用技能。

    webx框架指南

    Webx还提供了异常处理机制和开发模式工具,以帮助开发者处理各种细节问题,并且可以通过定制WebxRootController和WebxController来进一步扩展框架功能。 WebxTurbine是Webx框架的一个子项目,其设计理念包括页面...

    webx

    10. **日志记录与异常处理**:WebX 内置了日志系统和异常处理机制,便于调试和问题排查。 通过学习WebX框架,开发者可以快速掌握企业级Web应用的开发流程,提高开发效率。对于"petstore-webx3"中的PetStore应用,它...

    webx_guide

    Webx框架的基础设施服务部分是不可或缺的,它支持了资源的加载和管理。这部分内容详细介绍了资源的概念,如何表示和访问资源,以及资源的遍历。Webx使用Spring的ResourceLoader机制来装载资源,但也有其自己的...

    webx3文档——web开发

    Webx是基于Java的Web应用框架,它具有高成熟度和可靠性,并且具备强大的开放性和扩展性。Webx框架的文档详细介绍了该框架的设计理念、历史、优势以及与Spring框架的集成等方面。文档内容主要分为两大部分:Webx框架...

    webx3 PDF(阿里巴巴 前端web框架)

    - **剪裁和定制Webx**:Webx框架允许开发者根据具体项目需求对框架进行裁剪和定制,这意味着可以去除不必要的组件或添加特定功能,从而进一步优化性能。 **1.3 本章总结** 通过上述介绍可以看出,Webx框架的核心...

    WEBX3.0框架指南(PDF版)

    - **初始化日志系统**:配置日志框架(如Log4j),记录运行时的信息。 ##### 3.2 Webx响应请求 - **增强request、response、session的功能**:通过对这些对象的封装,提高了操作的便捷性和安全性。 - **Pipeline...

    Webx及框架简介

    4. **会话(Session)**:Webx支持会话管理,允许开发者在用户的不同请求之间存储和共享信息。这有助于实现用户登录、购物车等需要保持状态的功能。 5. **配置(Configuration)**:Webx的配置文件用于定义框架的...

    淘宝WEBX框架详解

    通过深入学习WEBX框架,开发者可以更好地理解和实践淘宝的开发流程,从而在实际工作中更快速地适应和产出。 **1. WEBX框架的核心特性** WEBX框架的核心特性包括模块化、面向服务的设计、灵活的数据访问层以及强大...

    Webx介绍_PDF

    - **初始化**:Webx3.0的初始化主要由`WebxContextLoaderListener`完成,它负责加载配置文件,并初始化日志系统。 - **执行流程**:请求处理过程通过Pipeline来管理,包括URI解析、请求上下文处理等多个环节,确保了...

    WebX入门指南示例程序

    WebX支持声明式和编程式的事务管理,可以轻松处理多数据库操作的事务一致性问题。 10. **示例程序详解**: 提供的“test”文件可能包含了一个简单的WebX示例程序,包括控制器、模型、视图和配置文件等。通过分析...

    webx总结

    4. **Webx工具使用**:介绍与Webx配合使用的工具或插件,如调试工具、性能分析工具,以及它们如何提升开发效率。 5. **实战经验分享**:分享使用Webx开发项目的实践经验,包括遇到的问题、解决方案以及最佳实践。 ...

    webx2.7绿色安装

    WEBX是阿里巴巴的内部框架,“就是把页面与Service层之间的一些Servlet等公共的东西抽象出来,提供相应的服务以提高开发效率(《接口测试之Webx简介》—何晓峰 )”,可以看出,webx和传统的servlet-action模式的...

    webx3学习的demo,以及留言板的小例子

    本压缩包包含了WebX3学习的示例和一个简单的留言板应用,这对于初学者理解WebX3的工作原理和开发流程非常有帮助。 首先,`message_board.sql` 文件很可能是用于创建留言板数据库结构的SQL脚本。在Web应用开发中,...

    创建简单的WEBX应用

    llerServlet 是 Webx 框架的核心组件,它负责处理所有以 .htm 和 .do 结尾的请求。...对于初学者来说,理解 Webx 的核心概念,如 ControllerServlet 和服务配置,是进一步学习和使用 Webx 的关键。

    阿里巴巴J2EE Webx框架简介

    当这些Car被组合成Petstore.war时,它们的目录结构会合并到一起,形成一个完整的Web应用程序结构,包括各个子模块如home、user、store和admin,每个子模块可能有自己的配置文件(webx.xml)和类库(classes)。...

    webx-springExt整合eclipse插件

    Eclipse是一个广泛使用的Java集成开发环境(IDE),而这里的"webx-springExt整合eclipse插件"是为了在Eclipse中支持Webx-SpringExt项目的开发而设计的,使得开发者可以更方便地进行代码编写、调试和管理。...

Global site tag (gtag.js) - Google Analytics