拾貝殼

          走過的路
          隨筆 - 39, 文章 - 1, 評論 - 14, 引用 - 0
          數據加載中……

          Log4j/common log和各種服務器集成的問題

          ? 目前的很多商業和非商業的服務器中間件都默認集成了common-log甚至是log4j.因此當我門把我們的應用發布在上面的時候,都會遇到關于log方面的問題.
          ? 1.webshpere下面集成log4j.
          ? "WebSphere的類裝入器方式有兩種方式:PARENT_FIRST和PARENT_LAST。默認值是PARENT_FIRST,這種方式在載入當前classpath的類之前先載入其上一級classloader能夠裝入的類。這是標準的JVM classloader的默認策略。如果采用PARENT_LAST,則過程正好相反,即先載入當前classpath的類,再載入其上一級classloader能夠裝入的類,這樣可以用當前classpath中更新的類覆蓋其上一級classloader的相同類。受類裝入器方式影響的classloader包括application classloader、WAR classloader以及共享類庫的classloader。"
          ?因為websphere在共享類庫的classloader中有一套common logging,但是確沒有合適配置文件.如果我們把配置正確的log4j.properties文件放在共享類庫下,我們會發現log4j可以運行.但還有另外一個很通用的方式--改變webshpere的類庫加載順序.我們讓他先加載我們web應用所需的類庫.即我們把web應用的加栽方式改為PARENT_LAST.
          ? 哎,盡管我小心的提防,今天還是中招了,在我的配置里,log4j的配置文件只能讀取一次,不能一個應用一個配置文件.為了讓它加載自己的配置,可以自己寫(或者用spring的)servlet/listener去手動加載這個配置文件.
          ?2.jboss下面的集成log4j
          ? 大家可能都曾在為jboss下面配置log4j郁悶過.jboss比webshpere走的還遠.無論你的項目是否使用了log4j,jboss在自己啟動的時候就已經運行他了.也就是說在jboss加載自己共享類庫的時候,已經讀取了自己log4j.xml文件配置.這個文件在conf中可以找到.如果你需要為你的應用單獨配置一個catagory,你需要直接在這里配置.
          ???在webloader裝載應用的時候,如果應用中有log4j的包,似乎總出現appender已被占用的問題.筆者把log4j的包連帶應用中的log4j配置文件一并移去,世界清凈了.
          關于為了讓應用自帶的log4j配置文件生效,有人建議修改
          ?<attribute name="Java2ClassLoadingCompliance">false</attribute>

          ?<attribute name="UseJBossWebLoader">false</attribute>
          這兩個屬性.
           3.sunone下面集成log4j
          ??? 距離上次用SunOne服務器已經好長時間了,似乎sunOne的log有些類似jboss,也是一個服務器的log集中管理.由于使用的不是很多,暫且在這里站個位子.
          隨手貼點關于log的信息:
          http://wiki.apache.org/jakarta-commons/Logging/FrequentlyAskedQuestions
          http://www-128.ibm.com/developerworks/cn/websphere/library/techarticles/0408_baigang/part3.html

          ?

          posted on 2006-09-05 17:23 binge 閱讀(1490) 評論(1)  編輯  收藏 所屬分類: J2EE

          評論

          # re: Log4j/common log和各種服務器集成的問題  回復  更多評論   

          能說得更清楚一點嗎?
          2007-03-26 09:48 | 撒旦
          主站蜘蛛池模板: 交城县| 来宾市| 元氏县| 侯马市| 积石山| 阳高县| 金寨县| 彭泽县| 开化县| 灵宝市| 宣汉县| 南澳县| 望城县| 灵石县| 定边县| 章丘市| 交城县| 类乌齐县| 武城县| 巴彦县| 乡城县| 含山县| 天门市| 高碑店市| 玉山县| 定结县| 辽宁省| 南昌市| 弥勒县| 台江县| 阿尔山市| 新巴尔虎左旗| 嵩明县| 乐亭县| 海伦市| 建宁县| 遵化市| 富平县| 广州市| 营口市| 称多县|