python處理logger日志

前言:

在實(shí)際的項(xiàng)目開(kāi)發(fā)過(guò)程中缔赠,為了準(zhǔn)確的定位出bug蜂林,需要對(duì)錯(cuò)誤進(jìn)行日志記錄傀广,這里簡(jiǎn)要記錄一下使用python的logging模塊實(shí)現(xiàn)日志的記錄遣臼。

logger的常見(jiàn)使用

1.日志等級(jí)
2.實(shí)際開(kāi)發(fā)中的日志記錄
3.日志輸出到屏幕
4.日志輸入到文件
5.完整代碼實(shí)例

日志的等級(jí):

1.等級(jí)排序:
?? debug < info < warn < error < fatal
2.各等級(jí)的含義:
??1.debug: 級(jí)別最低,用戶開(kāi)發(fā)過(guò)程中的調(diào)試
??2.info:打印程序運(yùn)行是的正常的信息场晶,用于替代print輸出
??3.warn: 打印警告信息混埠,不影響程序的運(yùn)行
??4.error: 程序運(yùn)行出錯(cuò),可以修復(fù)诗轻,常用在except異常捕獲之后
??5.fatal:非常嚴(yán)重钳宪,無(wú)法修復(fù),程序繼續(xù)運(yùn)行的話后果非常嚴(yán)重
3.使用注意事項(xiàng):
?? 設(shè)置了日志等級(jí)后扳炬,調(diào)用比等級(jí)低的日志記錄函數(shù)則不會(huì)輸出

實(shí)際開(kāi)發(fā)中的日志記錄
1.在開(kāi)發(fā)階段吏颖,便于調(diào)試,會(huì)將日志信息輸出到控制臺(tái)
2.項(xiàng)目上線后恨樟,便于后期的錯(cuò)誤定位半醉,會(huì)將日志記錄到log文件
日志輸出到屏幕
    logging.StreamHandler()
日志輸入到文件
logging.handlers.TimedRotatingFileHandler(filename, when, backupCount, encoding)
各參數(shù)含義:
  1.filename:log文件名
  2.when:間隔的時(shí)間單位
        S:秒
        M:分
        H:小時(shí)
        D:天、
        W:每星期(interval==0時(shí)代表星期一)
        midnight: 每天凌晨
  3.backupCount:備份文件的個(gè)數(shù)劝术,若超過(guò)該值缩多,就會(huì)自動(dòng)刪除
  4.encoding:編碼格式,一般為:utf-8

完整代碼實(shí)例
# coding:utf-8
import os
import logging
from logging import handlers

# 日志根路徑
LOG_ROOT = "I:/"


def get_logger(log_filename, level=logging.DEBUG, when='midnight', back_count=0):
    """
    :brief  日志記錄
    :param log_filename: 日志名稱
    :param level: 日志等級(jí)
    :param when: 間隔時(shí)間:
        S:秒
        M:分
        H:小時(shí)
        D:天
        W:每星期(interval==0時(shí)代表星期一)
        midnight: 每天凌晨
    :param back_count: 備份文件的個(gè)數(shù)养晋,若超過(guò)該值衬吆,就會(huì)自動(dòng)刪除
    :return: logger
    """
    logger = logging.getLogger(log_filename)
    logger.setLevel(level)
    log_path = os.path.join(LOG_ROOT, "logs")
    if not os.path.exists(log_path):
        os.mkdir(log_path)
    log_file_path = os.path.join(log_path, log_filename)
    # log輸出格式
    formatter = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')
    # 輸出到控制臺(tái)
    ch = logging.StreamHandler()
    ch.setLevel(level)
    # 輸出到文件
    fh = logging.handlers.TimedRotatingFileHandler(
        filename=log_file_path,
        when=when,
        backupCount=back_count,
        encoding='utf-8')
    fh.setLevel(level)
    # 設(shè)置日志輸出格式
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)
    # 添加到logger對(duì)象里
    logger.addHandler(fh)
    logger.addHandler(ch)
    return logger


if __name__ == "__main__":
    logger = get_logger("my.log")
    logger.debug("debug test")
    logger.info("info test")
    logger.warn("warn test")
    logger.error("error test")

喜歡關(guān)注點(diǎn)個(gè)贊!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绳泉,一起剝皮案震驚了整個(gè)濱河市逊抡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌零酪,老刑警劉巖秦忿,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件麦射,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡灯谣,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門蛔琅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胎许,“玉大人,你說(shuō)我怎么就攤上這事罗售」家ぃ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵寨躁,是天一觀的道長(zhǎng)穆碎。 經(jīng)常有香客問(wèn)我,道長(zhǎng)职恳,這世上最難降的妖魔是什么所禀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮放钦,結(jié)果婚禮上色徘,老公的妹妹穿的比我還像新娘。我一直安慰自己操禀,他們只是感情好褂策,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著颓屑,像睡著了一般斤寂。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揪惦,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天遍搞,我揣著相機(jī)與錄音,去河邊找鬼丹擎。 笑死尾抑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蒂培。 我是一名探鬼主播再愈,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼护戳!你這毒婦竟也來(lái)了翎冲?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤媳荒,失蹤者是張志新(化名)和其女友劉穎抗悍,沒(méi)想到半個(gè)月后驹饺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡缴渊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年赏壹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片衔沼。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝌借,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出指蚁,到底是詐尸還是另有隱情菩佑,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布凝化,位于F島的核電站稍坯,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏搓劫。R本人自食惡果不足惜瞧哟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望糟把。 院中可真熱鬧绢涡,春花似錦、人聲如沸遣疯。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)缠犀。三九已至数苫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間辨液,已是汗流浹背虐急。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滔迈,地道東北人止吁。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像燎悍,于是被迫代替她去往敵國(guó)和親敬惦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345