logging 模块
1.自己封装log模块
import logging
def getLogger():
logger = logging.getLogger("gou wu che") #log的产生,logger对象
filter = logging.Filter() #已不再用
handler = logging.FileHandler(filename="car.txt", encoding='utf-8') #log的产出,handler对象
screen = logging.StreamHandler() #输出到终端
fm1 = "%(name)s - %(levelname)s - %(asctime)s - %(message)s" #这些入参都是固定形式,不是自己起的名字
fm2 = " %(asctime)s - %(message)s"
formatter1 = logging.Formatter(fmt=fm1) #log log的包装,
formatter2 = logging.Formatter(fmt=fm2)
handler.setFormatter(formatter1)
screen.setFormatter(formatter2)
logger.setLevel(10)
logger.addHandler(handler)
logger.addHandler(screen)
return logger
将上边的全部封装到一个方法,将logger返回,在具体的业务中,调用时,就可以使用了,
logger.debug("hello, world")
logger.info("jige niubi ")
logger.error("egon dashen")
logger.critical("shan ding zai jian ")
2.logging模块提供了一个更加简便的配置方式
screen = logging.StreamHandler() #输出到屏幕
fh = logging.FileHandler(filename="aa.txt", encoding="utf-8") #输出到文件
fm = "%(name)s - %(levelname)s - %(asctime)s - %(message)s"
logging.basicConfig(
format=fm,
level=logging.DEBUG,
handlers =[fh,screen]
)
logging.debug("hello, world")
logging.info("jige niubi ")
logging.error("egon dashen")
logging.critical("shan ding zai jian ")
浙公网安备 33010602011771号