python的日志简单使用
生活随笔
收集整理的這篇文章主要介紹了
python的日志简单使用
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開始一個(gè)項(xiàng)目的時(shí)候總是匆匆的寫了代碼,但是有時(shí)候會發(fā)現(xiàn)一個(gè)問題,那就是經(jīng)常會為一個(gè)很長時(shí)間才出現(xiàn)一次的bug感到很苦惱,如果沒有及時(shí)捕捉的話,那還要浪費(fèi)很多時(shí)間去重現(xiàn),再糾正,還好python有比較方便的日志供使用,logging模塊
import logging
def getFileLogger(name):logger = logging.getLogger(name)hdlr = logging.FileHandler(name)formatter = logging.Formatter('[%(asctime)s] %(levelname)s : %(message)s')hdlr.setFormatter(formatter)logger.addHandler(hdlr)logger.setLevel(LOGLEVEL)logger.disabled = Truereturn logger, hd
def getConsoleLogger(name):logger = logging.getLogger()logger.setLevel(LOGLEVEL)formatter = logging.Formatter('[%(asctime)s] %(levelname)s : %(message)s')hd = logging.StreamHandler()hd.setFormatter(formatter)hd.setLevel(LOGLEVEL)logger.disabled = Truereturn logger, hd
這兩個(gè)函數(shù)都是封裝了logging模塊的,前者為建立一個(gè)文件的logging,后者是直接在控制臺輸出,建立一個(gè)logging的時(shí)候同時(shí)要建立一個(gè)句柄,也就是hdlr,當(dāng)程序不需要日志的時(shí)候要?jiǎng)h除創(chuàng)建的句柄和釋放logging,這樣避免占用資源或者出現(xiàn)重復(fù)的打印,這種現(xiàn)象在多線程打印的日志的時(shí)候經(jīng)常出現(xiàn),粗心導(dǎo)致,formatter命令可以格式化logging,這樣打印的東西很漂亮和工整,使用的時(shí)候就調(diào)用這兩個(gè)函數(shù)直接返回一個(gè)可用的logger和句柄,有了日志,就可以在很多必要的地方加上輸出,以防備bug的出現(xiàn),并且能及時(shí)捕捉,及時(shí)分析。記性不好,寫在這里,忘了的時(shí)候可以查查,節(jié)省時(shí)間,呵呵
import logging
def getFileLogger(name):logger = logging.getLogger(name)hdlr = logging.FileHandler(name)formatter = logging.Formatter('[%(asctime)s] %(levelname)s : %(message)s')hdlr.setFormatter(formatter)logger.addHandler(hdlr)logger.setLevel(LOGLEVEL)logger.disabled = Truereturn logger, hd
def getConsoleLogger(name):logger = logging.getLogger()logger.setLevel(LOGLEVEL)formatter = logging.Formatter('[%(asctime)s] %(levelname)s : %(message)s')hd = logging.StreamHandler()hd.setFormatter(formatter)hd.setLevel(LOGLEVEL)logger.disabled = Truereturn logger, hd
這兩個(gè)函數(shù)都是封裝了logging模塊的,前者為建立一個(gè)文件的logging,后者是直接在控制臺輸出,建立一個(gè)logging的時(shí)候同時(shí)要建立一個(gè)句柄,也就是hdlr,當(dāng)程序不需要日志的時(shí)候要?jiǎng)h除創(chuàng)建的句柄和釋放logging,這樣避免占用資源或者出現(xiàn)重復(fù)的打印,這種現(xiàn)象在多線程打印的日志的時(shí)候經(jīng)常出現(xiàn),粗心導(dǎo)致,formatter命令可以格式化logging,這樣打印的東西很漂亮和工整,使用的時(shí)候就調(diào)用這兩個(gè)函數(shù)直接返回一個(gè)可用的logger和句柄,有了日志,就可以在很多必要的地方加上輸出,以防備bug的出現(xiàn),并且能及時(shí)捕捉,及時(shí)分析。記性不好,寫在這里,忘了的時(shí)候可以查查,節(jié)省時(shí)間,呵呵
轉(zhuǎn)載于:https://blog.51cto.com/gmingzhe/163826
總結(jié)
以上是生活随笔為你收集整理的python的日志简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新书上架:《Java SE 实践教程》
- 下一篇: Delphi编写事件模型客户端(2)