之前用C,最烦的就是日志,从格式到内容到级别,都是头痛的事,尽管还有个日志系统挂着,但也不是很方便。初学python,蒙蒙然也不晓得日志是怎么打印的,有没有本身的日志系统,偶然发现logging,其实用着很简单,55555,兴奋中~~python
#!/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.这个是文档上的原话,哈哈orm
logging.basicConfig(filename=fname2, level=logging.INFO)
logging.info("do 1") #这个调用和下面那个结果但是不同的,这个只写file2,而且不会在终端打印日志
logger = iniLog()
logger.info("do 2") #这个往两个file都写,而且向终端打印日志
文档