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
          主站蜘蛛池模板: 枣阳市| 沁阳市| 龙川县| 靖宇县| 南康市| 唐山市| 长沙市| 外汇| 厦门市| 保靖县| 拉孜县| 丰原市| 手机| 化德县| 呼和浩特市| 开远市| 顺义区| 阜康市| 息烽县| 筠连县| 北宁市| 托克逊县| 广河县| 从江县| 抚宁县| 孝昌县| 淄博市| 深州市| 易门县| 克什克腾旗| 从化市| 融水| 汶上县| 馆陶县| 古田县| 都江堰市| 宁夏| 荥阳市| 仁化县| 黄陵县| 迁西县|