DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計

          積分與排名

          好友之家

          最新評論

          Log4J的一些小技巧和使用中一些須要注意的問題。


          一、為多個項目指定使用哪個log4j文件
          情況一:多個小項目合成一個大項目,多個小項目有自己不同的入口,這個時候如果使用同一個log4j文件,各個項目的輸
          出會混亂在一起,如果拆分成多個小項目,看起來又比較散不太好管理。
          情況二:一個項目實施在linux上,編寫在windows上,log4j的輸出目錄/opt/xxx/web.log
          這個時候開發(fā)者被迫必須在本機的workspace所在的目錄加入一個opt/xxx/web.log的目錄和文件
          同時,大多數(shù)情況下linux上的服務(wù)是不須要輸出log到Console,只要輸出到文件
          而windows大部份是只須要輸出到console,不須要輸出到文件
          本地調(diào)試的時候log4j的級別多是debug ,而實際實施的時候多是之上的級別
          造成須要不停的修改log4j的屬性文件,cvs同步的時候不停的提示
          也許你說可以整個項目完成再來寫log4j的屬性文件,但有的時候這個效果并不好。
          因為還有這種時候,項目完成(包括log),反復測試的這段時間。

          解決:解決辦法很簡單,建立一個log4j的配制文件的目錄,在這個目錄下為每個小項目建立一個目錄,
          每個目錄下放著自己的log4j配制,然後把這些目錄作為每個小工程的classpath的第一個,ok上邊的問題就
          解決了。這個時候可以寫一個log4j放在src下,用來開發(fā)時候調(diào)試用,而真正服務(wù)器上使用的都在各自的文件夾下

          二,為默寫包,某些類定義不同的log4j級別
          是否想過這中需求呢,一個項目調(diào)試的時候,希望其中默寫包不打出log信息。
          比如struts的包,spring的包,還有你引用的別人已經(jīng)開發(fā)好包,或者你自己寫的類,但是你不想看到這個
          類的log信息.但是你須要調(diào)試當前的一些class,log級別必須設(shè)置在debug級別
          這個時候可以在log4j的屬性文件中加入如下內(nèi)容:
          log4j.logger.包名or類名=高的級別
          例如:
          log4j.logger.org.springframework=error

          三、注意事項

          1 public   void  execute() {
          2   // ..
          3  logger.debug( " aa " + " bb " + " cc " );
          4 }

          5


          是否這么寫過呢?這樣寫是有些問題的。當你把log級別調(diào)整到info或者更高的時候,log信息是不輸出了
          但是字符串的拼接一樣進行了,使你的程序效率降低,實驗一下

          1 public   void  execute() {
          2   // ..
          3      logger.debug(getStr());
          4 }

          5 public  String getStr() {
          6      System.out.println( " execute getStr " );
          7 }

          8


          調(diào)整log4j屬性文件級別到info 結(jié)果getStr()照樣執(zhí)行了
          解決辦法:

          1 public   void  execute() {
          2   // .
          3      if (logger.isDebugEnabled()) {
          4         logger.debug(getStr());
          5     }

          6 }

          7

          posted on 2006-11-29 17:33 dreamstone 閱讀(2900) 評論(1)  編輯  收藏 所屬分類: 利器片段

          評論

          # re: Log4J的一些小技巧和使用中一些須要注意的問題。 2006-11-29 22:47 joss

          請教一下,把這些目錄作為每個小工程的classpath的第一個,具體怎么做?  回復  更多評論   

          主站蜘蛛池模板: 尼勒克县| 福贡县| 东台市| 浏阳市| 新晃| 四会市| 巧家县| 冀州市| 无锡市| 法库县| 泰安市| 旺苍县| 和平县| 大余县| 如东县| 二手房| 碌曲县| 祁东县| 拜泉县| 福贡县| 鱼台县| 长岛县| 福海县| 西华县| 大名县| 西昌市| 锡林郭勒盟| 桂阳县| 丰台区| 荥阳市| 江城| 隆回县| 合作市| 吉林省| 定安县| 青铜峡市| 巴林右旗| 肇庆市| 商水县| 三亚市| 栾川县|