`

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
分享到:
评论

相关推荐

    webx2.7绿色安装

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

    webx框架指南

    阿里开源框架webx的文档,想要学习webx或者维护webx的开发者可以下载

    Webx3.0小结

    webx3.0学习小结

    创建简单的WEBX应用

    webx框架(淘宝框架),webx+spring+ibatis

    项目中用到的webx

    1.webx是阿里巴巴开发的mvc框架(就是spring mvc又封了一层) 2.此项目是个完整的项目,修改数据库配置后可直接运行(搜索data-source.xml) 3.webx自带的持久层是ibatis,我改成了hibernate 3.此为maven项目,jar包在项目...

    webx总结 项目实践总结

    webx3 启动顺序,webx使用总结,webx表单提交(感觉你还是看webx文档 貌似更加好哦!那个表单提交写的很是详细)

    Webx及框架简介

    Webx及框架简介 ppt 格式

    淘宝WEBX框架详解

    WEBX框架详解,更好的了解Taobao的开发过程,对于新手更容易上手。

    webx

    NULL 博文链接:https://xj84.iteye.com/blog/1850955

    webx3文档——web开发

    该文档为官方webx框架文档,对webx进行了全面的讲解,非常实用。

    Webx3_Guide_Book.pdf 用户指南

    Webx3_Guide_Book 用户指南 2001年,阿里巴巴内部开始使用Java Servlet作为WEB服务器端的技术,以取代原先的 Apache HTTPD server和mod_perl的组合。 • 2002年,选择Jakarta Turbine作为WEB框架,并开始在此之上...

    阿里巴巴J2EE Webx框架简介

    阿里巴巴内部J2EE平台 Webx框架简介,现在是webx3.0,而且已经开源!

    Webx介绍_PDF

    淘宝开源Web开发框架Webx3.0介绍,内附宠物店程序作为例子详细解说webx框架的方方面面。

    webx_guide

    快速使用 webx 开发web 应用 Webx框架指南 Michael Zhou

    webx入门介绍

    webx框架是淘宝开发的比较流行的框架,这个是webx框架的入门介绍

    WebX入门指南示例程序

    WebX入门指南示例程序,通过结合博文:http://blog.csdn.net/fiboliu/article/details/50040273和代码讲解了,WebX入门级的使用指南!

    通用WEB框架 Webx.zip

    通用WEB框架 Webx ,Webx是建立在Java Servlet API基础上的的通用WEB框架。用Webx搭建的应用可以...

    webx-springExt整合eclipse插件

    webx-springExt整合eclipse插件,挺好用的

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

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

Global site tag (gtag.js) - Google Analytics