拾貝殼

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

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

          ? 目前的很多商業(yè)和非商業(yè)的服務器中間件都默認集成了common-log甚至是log4j.因此當我門把我們的應用發(fā)布在上面的時候,都會遇到關(guān)于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文件放在共享類庫下,我們會發(fā)現(xiàn)log4j可以運行.但還有另外一個很通用的方式--改變webshpere的類庫加載順序.我們讓他先加載我們web應用所需的類庫.即我們把web應用的加栽方式改為PARENT_LAST.
          ? 哎,盡管我小心的提防,今天還是中招了,在我的配置里,log4j的配置文件只能讀取一次,不能一個應用一個配置文件.為了讓它加載自己的配置,可以自己寫(或者用spring的)servlet/listener去手動加載這個配置文件.
          ?2.jboss下面的集成log4j
          ? 大家可能都曾在為jboss下面配置log4j郁悶過.jboss比webshpere走的還遠.無論你的項目是否使用了log4j,jboss在自己啟動的時候就已經(jīng)運行他了.也就是說在jboss加載自己共享類庫的時候,已經(jīng)讀取了自己log4j.xml文件配置.這個文件在conf中可以找到.如果你需要為你的應用單獨配置一個catagory,你需要直接在這里配置.
          ???在webloader裝載應用的時候,如果應用中有l(wèi)og4j的包,似乎總出現(xiàn)appender已被占用的問題.筆者把log4j的包連帶應用中的log4j配置文件一并移去,世界清凈了.
          關(guān)于為了讓應用自帶的log4j配置文件生效,有人建議修改
          ?<attribute name="Java2ClassLoadingCompliance">false</attribute>

          ?<attribute name="UseJBossWebLoader">false</attribute>
          這兩個屬性.
          ?。常畇unone下面集成log4j
          ??? 距離上次用SunOne服務器已經(jīng)好長時間了,似乎sunOne的log有些類似jboss,也是一個服務器的log集中管理.由于使用的不是很多,暫且在這里站個位子.
          隨手貼點關(guān)于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 | 撒旦
          主站蜘蛛池模板: 荥阳市| 普洱| 当雄县| 武宁县| 玛曲县| 理塘县| 黄石市| 星座| 潍坊市| 阳江市| 平罗县| 淮安市| 宁远县| 咸丰县| 维西| 富宁县| 华亭县| 阿瓦提县| 乌鲁木齐县| 乌拉特中旗| 台北县| 永仁县| 沂源县| 南靖县| 馆陶县| 垫江县| 张北县| 纳雍县| 济阳县| 镇原县| 泰州市| 葵青区| 如东县| 怀集县| 泾川县| 荃湾区| 普陀区| 来安县| 泸溪县| 阆中市| 稻城县|