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,若是不须要能够把它先清空

相关文章
相关标签/搜索