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