python----日志模块loggin的使用,按日志级别分类写入文件
2021-03-23 13:24
标签:进程 and critical func 打印 loading ret 格式 sage 1、日志的级别 日志一共分为5个等级,从低到高分别是: 一个严重的错误,表明程序本身可能无法继续运行。 这5个等级,也分别对应5种打印日志的方法:debug、info、warning、error、critical。默认的日志收集器是收集WARNING以上等级的日志。 2、日志文件分类存储代码,创建文件login_demo02.py 运行结果如下: 3、其他文件调用 运行结果: python----日志模块loggin的使用,按日志级别分类写入文件 标签:进程 and critical func 打印 loading ret 格式 sage 原文地址:https://www.cnblogs.com/jinbiaobowen/p/13844944.html
级别
说明
DEBUG
输出详细的运行情况,主要用于调试。
INFO
确认一切按预期运行,一般用于输出重要运行情况。
WARNING
系统运行时出现未知的事情(如:警告内存空间不足),但是软件还可以继续运行,可能以后运行时会出现问题。
ERROR
系统运行时发生了错误,但是还可以继续运行。
CRITICAL
import logging
class log:
def __init__(self):
# 创建自己的日志收集器
self.my_log = logging.getLogger("my_log")
# 设置收集的日志等级,设置为DEBUG等级
self.my_log.setLevel("DEBUG")
# 日志输出渠道
# 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上
self.l_s = logging.StreamHandler()
self.l_s.setLevel("DEBUG")
# 创构建一个日志输出渠道(输出到文件)
l_f = logging.FileHandler("error.log",encoding=‘utf8‘)
l_f.setLevel("ERROR")#设置输出的日志等级为ERROR以上
l_d=logging.FileHandler("debug.log",encoding=‘utf-8‘)
l_d.setLevel("DEBUG")#设置输出的日志等级为DEBUG以上
cc=logging.FileHandler("info.log",encoding=‘utf-8‘)
cc.setLevel("INFO")#设置输出的日志等级为INFO以上
#将日志输出渠道添加到日志收集器中
self.my_log.addHandler(self.l_s)
self.my_log.addHandler(l_f)
self.my_log.addHandler(l_d)
self.my_log.addHandler(cc)
# 设置日志输出的格式
# 可以通过logging.Formatter指定日志的输出格式,这个参数可以输出很多有用的信息,如下:
# % (name)s: 收集器名称
# % (levelno)s: 打印日志级别的数值
# % (levelname)s: 打印日志级别名称
# % (pathname)s: 打印当前执行程序的路径,其实就是sys.argv()
# % (filename)s: 打印当前执行程序名
# % (funcName)s: 打印日志的当前函数
# % (lineno)d: 打印日志的当前行号
# % (asctime)s: 打印日志的时间
# % (thread) d: 打印线程ID
# % (threadName)s: 打印线程名称
# % (process) d: 打印进程ID
# % (message) s: 打印日志信息
ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s"#工作中常用的日志格式
ft = logging.Formatter(ft)
# 设置控制台和日志文件输出日志的格式
self.l_s.setFormatter(ft)
l_f.setFormatter(ft)
l_d.setFormatter(ft)
cc.setFormatter(ft)
def my_log(self):
return self.my_log
if __name__ == ‘__main__‘:
my_log=log().my_log
ss="一条小日志"
my_log.info(ss)
my_log.debug(ss)
my_log.error(ss)
from login_demo02 import *
my_log=log().my_log
cc="这是一条日志"
my_log.debug(cc)
my_log.info(cc)
my_log.error(cc)
文章标题:python----日志模块loggin的使用,按日志级别分类写入文件
文章链接:http://soscw.com/index.php/essay/67824.html