理解正确的日志输出级别
原文鏈接:http://macrochen.iteye.com/blog/1399082
?
很多程序員都忽略了日志輸出級(jí)別, 甚至不知道如何指定日志的輸出級(jí)別. 相對(duì)于System.out來(lái)說(shuō), 日志框架有兩個(gè)最大的優(yōu)點(diǎn)就是可以指定輸出類別(category)和級(jí)別(level). 對(duì)于日志輸出級(jí)別來(lái)說(shuō), 下面是我們應(yīng)該記住的一些原則:
ERROR:系統(tǒng)發(fā)生了嚴(yán)重的錯(cuò)誤, 必須馬上進(jìn)行處理, 否則系統(tǒng)將無(wú)法繼續(xù)運(yùn)行. 比如, NPE, 數(shù)據(jù)庫(kù)不可用等.
WARN:系統(tǒng)能繼續(xù)運(yùn)行, 但是必須引起關(guān)注. 對(duì)于存在的問(wèn)題一般可以分為兩類: 一種系統(tǒng)存在明顯的問(wèn)題(比如, 數(shù)據(jù)不可用), 另一種就是系統(tǒng)存在潛在的問(wèn)題, 需要引起注意或者給出一些建議(比如, 系統(tǒng)運(yùn)行在安全模式或者訪問(wèn)當(dāng)前系統(tǒng)的賬號(hào)存在安全隱患). 總之就是系統(tǒng)仍然可用, 但是最好進(jìn)行檢查和調(diào)整.
INFO:重要的業(yè)務(wù)邏輯處理完成. 在理想情況下, INFO的日志信息要能讓高級(jí)用戶和系統(tǒng)管理員理解, 并從日志信息中能知道系統(tǒng)當(dāng)前的運(yùn)行狀態(tài). 比如對(duì)于一個(gè)機(jī)票預(yù)訂系統(tǒng)來(lái)說(shuō), 當(dāng)一個(gè)用戶完成一個(gè)機(jī)票預(yù)訂操作之后, 提醒應(yīng)該給出"誰(shuí)預(yù)訂了從A到B的機(jī)票". 另一個(gè)需要輸出INFO信息的地方就是一個(gè)系統(tǒng)操作引起系統(tǒng)的狀態(tài)發(fā)生了重大變化(比如數(shù)據(jù)庫(kù)更新, 過(guò)多的系統(tǒng)請(qǐng)求).
DEBUG:主要給開(kāi)發(fā)人員看, 下面會(huì)進(jìn)一步談到.
TRACE:?系統(tǒng)詳細(xì)信息, 主要給開(kāi)發(fā)人員用, 一般來(lái)說(shuō), 如果是線上系統(tǒng)的話, 可以認(rèn)為是臨時(shí)輸出, 而且隨時(shí)可以通過(guò)開(kāi)關(guān)將其關(guān)閉. 有時(shí)候我們很難將DEBUG和TRACE區(qū)分開(kāi), 一般情況下, 如果是一個(gè)已經(jīng)開(kāi)發(fā)測(cè)試完成的系統(tǒng), 再往系統(tǒng)中添加日志輸出, 那么應(yīng)該設(shè)為TRACE級(jí)別.
以上只是建議, 你也可以建立一套屬于你自己的規(guī)則. 但是一套良好的日志系統(tǒng), 應(yīng)該首先是能根據(jù)情況快速靈活的調(diào)整日志內(nèi)容的輸出.
轉(zhuǎn)載于:https://www.cnblogs.com/game-life/p/4191408.html
總結(jié)
以上是生活随笔為你收集整理的理解正确的日志输出级别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: html颜色拾取器
- 下一篇: oracle的em能干什么,转载 解决O