python的logging模塊

下面的代碼是python logging的一個hello world 程序:python

import logging函數

def init_log(logfile):spa

    logger = logging.getLogger()日誌

    hdlr = logging.FileHandler(logfile)orm

    formatter = logging.Formatter('%(asctime)s %(levelname)s - %(message)s')開發

    hdlr.setFormatter(formatter)get

    logger.handlers = []it

    logger.addHandler(hdlr)form

    logger.setLevel(logging.INFO)test

    

    return logger

def main():

    init_log("/tmp/testlog.log")

    logging.info("TEST....")

    

main()

代碼就不解釋了啊,比較簡單。

對於logging level 和handler能夠見:

這裏有個注意的地方:

這句:

logger = logging.getLogger()若是指定logger的name:getLogger("mylogger")這樣在之後使用必須先要使用getLogger得到這個logger,若是不知定name,將把默認的logger配置改變,這樣是頗有用的:

在執行了init_log函數以後,只要再import logging,執行logging.info("test..")也會根據一樣的配置輸出日誌的。在多模塊的開發中是很是方便的

logger.handlers = []這句是爲了清除原來默認的handler,默認會有一個streaming的handler,若是不須要能夠把它先清空

相關文章
相關標籤/搜索