zoukankan      html  css  js  c++  java
  • WebSphere & Log4j

    IBM的东西,真是太麻烦了,一个日志都给你替换掉,太霸道了,Google了下,居然是个普遍想象,不过也有相关的解决方

     

    案,基本好像都是在 WAS5,WAS6.1上的,我没环境,不过我这边的WAS7 没试成功过

     

    描述两种网上的流行的配置

     

    第一种:

     

    在你的项目的webappMETA-INF下建立一个名叫services的文件夹,然后建立一个名为org.apache.commons.logging.LogFactory的文件,里面添加一行文字:

    org.apache.commons.logging.impl.Log4jFactory

     

    即可解决 

     

    第二种:

     

    在类路径下增加commons-logging.properties配置文件,文件内容为: 
    priority=1 
    org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.LogFactoryImpl

    org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger

     

    .将类加载方式改成parent_last 

     

    以上两种我在 WAS 7都没试成功过。

     

    就在绝望之际,柳暗花明,在国外的小角落了发现了,下面一段描述

     

    *A very strange solution :*
    put in / /profiles//properties/
    the file commons-logging.properties with :
    priority=1
    org.apache.commons.logging.LogFactory=org.apache.c ommons.logging.impl.LogFactoryImpl
    org.apache.commons.logging.Log=org.apache.commons. logging.impl.Log4JLogger
    I don't know which of those lines are really important...

     

    http://fixunix.com/websphere/538047-log4j-commons-logging-was6-1-0-19-a.html 

     

    尝试之果然有效

     

    步骤如下(以windows为例):

     

    1、将写好配置的commons-logging.properties 放到 

       D:IBMWebSphereAppServerprofilesAppSrv01properties 目录

     

    2、将 log4j-1.2.14.jar commons-logging-1.1.1.jar 放到

       D:IBMWebSphereAppServerlib 目录下

     

    3、将你的log4j.Properties 也放到步骤2的目录下

     

    不需要改类加载气先后顺序,也不要要动工程结构,重启下服务,日志就生效,,完全是按照log4j的配置文件打印日志的。

    目前知道的缺点:所有的应用公用了一个日志配置文件,,需要改变websphere的本身的配置

     

    为啥没就人家weblogic 方便呢,几乎啥都不用动,想怎么用就用怎么用。

     

    5 楼 jucks2611 2014-09-17  
    我通过第一个方法,日志输出了。环境是was7
    4 楼 accphc 2011-11-18  
    WAS7的这个问题我也找了很多方法,
    博主的解决方案不太现实,在生产环境中一个server环境下会有多个应用,这样会影响到其他应用。
    直接Logger log=Logger.getLogger(this.getClass());用log4j的什么都不用配,直接打印日志!
    3 楼 krasonly 2011-10-14  
    那是因为你那个commons-logging.properties中有两个空格
    priority=1
    org.apache.commons.logging.LogFactory=org.apache.c ommons.logging.impl.LogFactoryImpl
    org.apache.commons.logging.Log=org.apache.commons. logging.impl.Log4JLogger
    去掉就启动起来了
    2 楼 sjmz30071360 2011-10-07  
    我的在WAS7.0.0.11上,不用加commons-logging.properties配置文件,就可以正常生成日志文件。
    但是不能正常的rename和delete生成的文件,即便是停掉application也不可以。
    只有把server停掉或者restart之后才可以。
    有没有什么好的解决方案呢?
    1 楼 jiminsc 2011-09-27  
    我是was7,在类路径下增加commons-logging.properties配置文件,可以正常生产日志文件
  • 相关阅读:
    informatica 学习日记整理
    informatica 学习日记整理
    执行异步任务,并记录时间
    Calling a Web API From a .NET Client (C#)
    PIVOT运算符使用(动态行转列)
    Replication--如何使用快照来初始化化请求订阅
    Replication--备份初始化需要还原备份么?
    疑难杂症--SQL SERVER 18056的错误
    TSQL--如何突破PRINT的8000大限
    执行计划--在存储过程中使用SET对执行计划的影响
  • 原文地址:https://www.cnblogs.com/swugogo/p/4223616.html
Copyright © 2011-2022 走看看