网站内容排版设计模板,不得不知道网站,中国城乡建设部官网,广州怎么找做网站的公司logging模块是Python内置的标准模块#xff0c;主要用于输出运行日志#xff0c;可以设置输出日志的等级、日志保存路径、日志文件回滚等。 print也可以输入日志#xff0c;logging相对print来说更好控制输出在哪个地方#xff0c;怎么输出及控制消息级别来过滤掉那些不需要…logging模块是Python内置的标准模块主要用于输出运行日志可以设置输出日志的等级、日志保存路径、日志文件回滚等。 print也可以输入日志logging相对print来说更好控制输出在哪个地方怎么输出及控制消息级别来过滤掉那些不需要的信息。 一条日志信息对应的是一个事件的发生而一个事件通常需要包括以下几个内容 事件发生时间 事件发生位置 事件的严重程度--日志级别 事件内容 上面这些都是一条日志记录中可能包含的字段信息当然还可以包括一些其他信息如进程ID、进程名称、线程ID、线程名称等。 日志格式就是用来定义一条日志记录中包含那些字段的且日志格式通常都是可以自定义的。 #作者cacho_37967865
#博客https://blog.csdn.net/sinat_37967865
#文件loggingModel.py
#日期2018-11-12
#备注logging模块是Python内置的标准模块主要用于输出运行日志可以设置输出日志的等级、日志保存路径、日志文件回滚等。
import logging
from datetime import datetime
import oslogger logging.getLogger() # 初始化一个logger# 默认生成的root logger的level是logging.WARNING,低于该级别的就不输出了
# 级别排序:CRITICALERRORWARNINGINFODEBUG
logger.setLevel(logging.DEBUG) # 总级别所有信息都输出# 将日志存储到指定目录的文件
file_name datetime.now().strftime(%Y%m%d%H%M) # 用时间当成文件名称格式201811111833年月日时分
log_path os.path.dirname(os.path.abspath(.)) /logs/ # 指定存储的绝对路径
log_name log_path file_name .log # 生成文件信息
save_file logging.FileHandler(log_name)# 在控制台输出日志
output logging.StreamHandler()
output.setLevel(logging.INFO) # 设置输出到控制台的级别# 日志输出格式设置
formatter logging.Formatter(%(asctime)s - %(name)s - %(levelname)s -- %(message)s)
save_file.setFormatter(formatter)
output.setFormatter(formatter)# 日志处理
logger.addHandler(save_file)
logger.addHandler(output)logger.debug(this is a logger debug message)
logger.info(this is a logger info message)
logger.warning(this is a logger warning message)
logger.error(this is a logger error message)
logger.critical(this is a logger critical message)
一、日志级别
默认生成的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级别,一个严重的错误,这表明程序本身可能无法继续运行
二、常用函数
logging.getLogger() 初始化一个logger Logger.setLevel() 设置总日志级别 logger.addHandler() 日志处理 logging.FileHandler() 日志存储到文件 logging.StreamHandler() 日志输出到控制台 logging.Formatter() 日志格式 setFormatter() 设置日志格式 setLevel() 设置具体日志级别
三、format常用格式说明
%(asctime)s: 打印日志的时间 %(name)s: 打印模块名称 %(levelname)s: 打印日志级别名称 %(message)s: 打印日志信息
%(levelno)s: 打印日志级别的数值 %(pathname)s: 打印当前执行程序的路径其实就是sys.argv[0] %(filename)s: 打印当前执行程序名 %(funcName)s: 打印日志的当前函数 %(lineno)d: 打印日志的当前行号 %(thread)d: 打印线程ID %(threadName)s: 打印线程名称 %(process)d: 打印进程ID