python日志模块logging

        以前用C,最烦的就是日志,从格式到内容到级别,都是头痛的事,尽管还有个日志系统挂着,但也不是很方便。初学python,蒙蒙然也不晓得日志是怎么打印的,有没有自己的日志系统,偶然发现logging,其实用着很简单,55555,兴奋中~~

#!/usr/bin/python

import logging

fname1 = 'test1.txt'
fname2 = 'test2.txt'
def iniLog():
    logger = logging.getLogger()    #起个logger
    filehandler = logging.FileHandler(fname1)    #handler有多种,filehandler,streamhandler==
    streamhandler = logging.StreamHandler()
    fmt = logging.Formatter('%(asctime)s, %(funcName)s, %(message)s')    #格式化日志
    logger.setLevel(logging.DEBUG)   #设置级别
    logger.addHandler(filehandler)    #挂上handler
    logger.addHandler(streamhandler)
   
    return logger


#This function does nothing if the root logger already has handlers configured.这个是文档上的原话,哈哈

logging.basicConfig(filename=fname2, level=logging.INFO)   
logging.info("do 1")  #这个调用和下面那个结果可是不一样的,这个只写file2,并且不会在终端打印日志

logger = iniLog()
logger.info("do 2")  #这个往两个file都写,并且向终端打印日志

你可能感兴趣的:(python日志模块logging)