<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    log,exception最佳實(shí)踐

    項(xiàng)目組對(duì)log和exception的討論結(jié)果。希望更多的人參與討論。
    1
    log

    1.1 log.error表示系統(tǒng)級(jí)錯(cuò)誤

    1.2 log.warn表示應(yīng)用級(jí)錯(cuò)誤

    1.3 服務(wù)初始化或結(jié)束用log.info

    1.4 log.debug替代outdebug要判斷isDebugEnable

    1.5 log.warn("",e)替代e.printstack

    1.6 log4e生成log相關(guān)代碼

    1.7 Log信息要保證可讀性,需記錄現(xiàn)場(chǎng)信息,如當(dāng)前處理id

    2 exception

    2.1 try catch內(nèi)的代碼不要太長(zhǎng)

    2.2 因?yàn)樾阅茉颍?/SPAN>try catch少放循環(huán)內(nèi)

    2.3 盡量避免catch(Exception)這樣的寫(xiě)法

    2.4 不同模塊定義不同的exception

    2.5 建議創(chuàng)建應(yīng)用的基類exception,特別是有定義error code需要的應(yīng)用

    2.6 只要catch就要log error message

    2.7 catch并封裝成另一種exception,如果不nest原來(lái)的exception就要log stackTrace

    2.8 持久層throw dataAccessException,業(yè)務(wù)層throw checked exception,展現(xiàn)層只顯示exception信息

    2.9 規(guī)范的exception流程定義如下:

    業(yè)務(wù)層不需處理的runtime exception,由展現(xiàn)層定義的exception controller捕獲,交給相應(yīng)的error頁(yè)面顯示并記錄stack信息。業(yè)務(wù)層捕獲下層的exception,并封裝成業(yè)務(wù)層的checked exception,如果nest所捕獲的exception,則僅log error message,如果不nest就需要用log.warn(“”,e)記錄stack信息。展現(xiàn)層捕獲業(yè)務(wù)層的exception,應(yīng)由處理業(yè)務(wù)層exceptionerror頁(yè)面來(lái)處理。

    posted on 2006-01-18 15:39 pesome 閱讀(3635) 評(píng)論(10)  編輯  收藏 所屬分類: 系統(tǒng)架構(gòu)

    評(píng)論

    # re: log,exception最佳實(shí)踐 2006-01-18 16:54 adjyoucmp

    好  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 16:56 江南白衣

    "debug要判斷isDebugEnable"

    會(huì)搞得代碼很冗長(zhǎng).  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 17:03 steady

    只要catch就要log error message

    這個(gè)需要看情況了,并不一定是必須的

    "debug要判斷isDebugEnable"

    這個(gè)同意,最終應(yīng)用的效率會(huì)有不小的提高  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 17:17 pesome

    isDebugEnable效率提高在里面的拼string。可以用log4e生成這個(gè)代碼的。  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 18:04 江南白衣

    我寧愿在IDEA里跑Debug,要看什么自己查看變量,都不愿意搞一堆
    if(logger.isDebugEnable()){
    logger.debug()
    }
    把代碼弄得臟西西的.  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 18:54 Joshua bloch

    確實(shí)不錯(cuò)!  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 19:18 pesome

    log.debug不光是給開(kāi)發(fā)時(shí)調(diào)試用,更多的是生產(chǎn)出錯(cuò)診斷時(shí)用。這也是記錄盡可能多現(xiàn)場(chǎng)信息的原因。  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 23:09 江南白衣

    如果有這個(gè)需要時(shí)的確有用.  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-18 23:36 benbenming

    log4j的配置文件放的位置有要求覺(jué)得不爽,所以自己寫(xiě)log;exception說(shuō)的不錯(cuò),一般catch中封裝自己寫(xiě)的BaseException,感覺(jué)不錯(cuò)!  回復(fù)  更多評(píng)論   

    # re: log,exception最佳實(shí)踐 2006-01-20 17:28 兼聽(tīng)則明

    使用 log4E 還是不錯(cuò)滴......  回復(fù)  更多評(píng)論   

    <2006年1月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    導(dǎo)航

    統(tǒng)計(jì)

    公告

    主要記錄作者在學(xué)習(xí)java中的每一步足跡。除非特別說(shuō)明,所有文章均為本blog作者原創(chuàng),如需轉(zhuǎn)載請(qǐng)注明出處和原作者,如用于商業(yè)目的,需跟作者本人聯(lián)系。
    歡迎大家訪問(wèn):

    常用鏈接

    留言簿(16)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    收藏夾

    java技術(shù)

    人間百態(tài)

    朋友們的blog

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产综合91精品麻豆| 亚洲日韩精品A∨片无码加勒比| 久久国产精品2020免费m3u8| 亚洲精品美女在线观看播放| 国产自产拍精品视频免费看| 九九九精品视频免费| 久久久无码精品亚洲日韩京东传媒 | 在线观看日本免费a∨视频| 亚洲av成人无码网站…| 亚洲精品无码Av人在线观看国产 | 中国一级特黄高清免费的大片中国一级黄色片 | 久久精品免费观看| 在线亚洲高清揄拍自拍一品区| 国产一级淫片免费播放| 久久99精品国产免费观看| 亚洲经典千人经典日产| 亚洲va久久久噜噜噜久久男同| 成人免费午夜在线观看| 巨胸喷奶水www永久免费| 亚洲另类无码专区丝袜| 亚洲AV综合色区无码一区爱AV| 波多野结衣久久高清免费| 十九岁在线观看免费完整版电影| 亚洲av无码专区亚洲av不卡| 亚洲国产精品第一区二区| 国产乱弄免费视频| 30岁的女人韩剧免费观看| 国产精品免费一区二区三区 | 免费夜色污私人影院网站电影| 日韩精品亚洲人成在线观看| 亚洲欧洲精品成人久久奇米网| 日本亚洲免费无线码| 野花香高清视频在线观看免费| 精品亚洲成A人在线观看青青| 亚洲成人午夜电影| 亚洲AV无码乱码国产麻豆穿越| 四虎影永久在线高清免费| 黄页网站免费在线观看| 久久精品视频免费| A级毛片成人网站免费看| 国产成人综合久久精品亚洲|