MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          log筆記

          Posted on 2010-05-27 14:14 leekiang 閱讀(390) 評論(0)  編輯  收藏 所屬分類: java
          1,為什么要寫 if (log.isDebugEnabled())
          在使用log4j,common-log這樣的log框架時,發現很多代碼中這樣寫
          if ? (log.isDebugEnabled()) ? {
          ? ? ? ? ? log.debug( "xxxx ");
          }

          我很奇怪,為什么要與log.isDebugEnabled()?既然log.debug()在沒有指定輸出級別為DEBUG時不會有輸出,為什么還要在 前面加一個isDebugEnabled()的判斷?
          答:
          為了效率,如果上述那個代碼那么簡單是沒有必要的
          但是如果這樣
          if ? (log.isDebugEnabled()) ? {
          ? ? ? ? ? log.debug(buildFullString());
          }
          如果這個buildFullString效率不太高,那么如果直接寫log.debug(buildFullString());的話
          雖然它不會打印語句,但是buildFullString還是被執行了,這樣就白費了功夫
          所以加上isDebugEnabled就可以避免執行buildFullString了
          這個方法一般用在認為buildFullString這個函數效率不太高的情況下

          http://topic.csdn.net/u/20070119/16/e9cf879c-697b-482a-9d55-21bfb7a16216.html
          主站蜘蛛池模板: 岫岩| 平度市| 茂名市| 叶城县| 皋兰县| 保山市| 扬中市| 阿克| 宝山区| 简阳市| 桐乡市| 平舆县| 资中县| 大英县| 纳雍县| 东莞市| 四会市| 湛江市| 江津市| 广饶县| 泽州县| 碌曲县| 迭部县| 无棣县| 牙克石市| 河西区| 灵川县| 双江| 五莲县| 舟曲县| 安徽省| 双桥区| 潍坊市| 安顺市| 手游| 松原市| 原阳县| 盐津县| 临沧市| 纳雍县| 中西区|