拾貝殼

          走過的路
          隨筆 - 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 閱讀(1498) 評論(1)  編輯  收藏 所屬分類: J2EE

          評論

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

          能說得更清楚一點嗎?
          2007-03-26 09:48 | 撒旦
          主站蜘蛛池模板: 彭山县| 嘉黎县| 景东| 孟州市| 漳浦县| 马龙县| 嵊州市| 海口市| 曲靖市| 永善县| 仲巴县| 永寿县| 琼中| 九台市| 林西县| 武强县| 萨嘎县| 雅安市| 新田县| 兴城市| 离岛区| 普定县| 北安市| 荃湾区| 佛冈县| 天祝| 泸溪县| 焉耆| 海阳市| 壶关县| 南城县| 湟源县| 上思县| 客服| 宝山区| 大厂| 澎湖县| 呼和浩特市| 商水县| 利津县| 宁国市|