日志模块归纳

本次是对日志模块的使用:
version-1 简单的使用只是简单的输出日志:

print(os.getcwd())
logging.basicConfig(level=logging.INFO,
                    filename='./log.txt',
                    filemode='a',
                    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
  #                 format ='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')

logging.debug(u'这是logging debug message')
logging.info(u"这是longging info message")
logging.warning(u"这是logging warning message")
logging.error(u"这是longging error message")
logging.critical(u"这是logging critical message")

version-2让日志同时在屏幕输出,并在文本中记录

import logging
#创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)

#创建一个header用于写入到文件当中
logfile = './log.txt'
fh = logging.FileHandler(logfile,mode='w')
fh.setLevel(logging.DEBUG)

#创建一个header用于屏幕输出
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)

#对格式进行设定
formatter = logging.Formatter('%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
fh.setFormatter(formatter)
ch.setFormatter(formatter)

#将header加入到logger中
logger.addHandler(fh)
logger.addHandler(ch)

logging.debug(u'这是logging debug message')
logging.info(u"这是longging info message")
logging.warning(u"这是logging warning message")
logging.error(u"这是longging error message")
logging.critical(u"这是logging critical message")

关于logging模块的其余知识总结:
默认生成的root logger的level是logging.WARNING,低于该级别的就不输出了级别排序:CRITICAL > ERROR > WARNING > INFO > DEBUG
debug : 打印全部的日志,详细的信息,通常只出现在诊断问题上
info : 打印info,warning,error,critical级别的日志,确认一切按预期运行
warning : 打印warning,error,critical级别的日志,一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”),这个软件还能按预期工作
error : 打印error,critical级别的日志,更严重的问题,软件没能执行一些功能
critical : 打印critical级别,一个严重的错误,这表明程序本身可能无法继续运行

format的格式简介:
%(levelno)s: 打印日志级别的数值
%(levelname)s: 打印日志级别名称
%(pathname)s: 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s: 打印当前执行程序名
%(funcName)s: 打印日志的当前函数
%(lineno)d: 打印日志的当前行号
%(asctime)s: 打印日志的时间
%(thread)d: 打印线程ID
%(threadName)s: 打印线程名称
%(process)d: 打印进程ID
%(message)s: 打印日志信息

猜你喜欢

转载自blog.csdn.net/qq_32585565/article/details/84634126