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配置文件,可以正常生产日志文件
  • 相关阅读:
    linux之awk命令
    HDU 2097 Sky数 进制转换
    HDU 2077 汉诺塔IV
    HDU 2094 产生冠军 dfs加map容器
    HDU 2073 叠框
    HDU 2083 简易版之最短距离
    HDU 2063 过山车 二分匹配
    天梯 1014 装箱问题
    天梯 1214 线段覆盖
    天梯 1098 均分纸牌
  • 原文地址:https://www.cnblogs.com/swugogo/p/4223616.html
Copyright © 2011-2022 走看看