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 ")

 

posted @ 2022-10-10 09:05  往昔遗忘  阅读(40)  评论(0)    收藏  举报