自從昨天移到JBOSS上後又發生怪問題...就是log問題。
因為客戶需求有各種不同的log,因此我利用點空閑時間將原本的log拆出區分為多個logger,
但怪問題發生了:
logger會時好時壞!!??
以下為我的log4j.properties:
log4j.rootLogger=DEBUG,total
log4j.appender.total=org.apache.log4j.FileAppender
log4j.logger.com.xxxx.mi.web.servlet.query=DEBUG,AOPLOG
log4j.logger.com.xxxx.mi.web.esb.util=DEBUG,AESBLOG
log4j.logger.com.xxxx.mi.web.omicard=DEBUG,AOMICARDLOG
log4j.logger.com.xxxx.mi.web.sql.mybatis=TRACE,ADBLOG
所謂的時好時壞就是,rootLogger一定是正常的,然而我其他定義的logger(如上com.xxxx.mi.web.servlet,logger.com.xxxx.mi.web.esb.util..這些),有時正常有時卻無法正確記錄,而且每次重啟jboss後正常或不正常的logger都不一定,
一開始以為是我的log4j.properties有問題,然而嘗試了半天實在找不到錯誤...後來看到以上參考網站,試者在tomcat上使用...果然tomcat一切正常,就只有jboss不正常。
後來找了些文章,好像jboss本身有自帶log,因此會衝突(?),先依照參考網站解決方式如下:
- 在META-INF下新增jboss-deployment-structure.xml,內容如下:
- 更改JBOSS的設定:更改${JBOSS_HOME}/bin/standalone.bat(這裡使用win) 新增啟動參數-Dorg.jboss.as.logging.per-deployment=false:
先找到以下這段:
rem Setup JBoss specific properties set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS% "
更改為:
rem Setup JBoss specific properties set "JAVA_OPTS=-Dprogram.name=%PROGNAME% %JAVA_OPTS% -Dorg.jboss.as.logging.per-deployment=false"
- 重新啟動jboss,如果先前log4j的其餘部分沒有問題,應該就可以正常運作囉~~
這問題搞了我一天多....進度又整個延宕.............!@&^^$!@$@#
沒有留言:
張貼留言