标签:使用 ror 自己的 跟踪 -- img loaded and byte
说明 | |
---|---|
DEBUG | 输出详细的运行情况,主要用于调试。 |
INFO | 确认一切按预期运行,一般用于输出重要运行情况。 |
WARNING | 系统运行时出现未知的事情(如:警告内存空间不足),但是软件还可以继续运行,可能以后运行时会出现问题。 |
ERROR | 系统运行时发生了错误,但是还可以继续运行。 |
CRITICAL | 一个严重的错误,表明程序本身可能无法继续运行。 |
这5个等级,也分别对应5种打印日志的方法:debug、info、warning、error、critical。默认的日志收集器是收集WARNING以上等级的日志。
import logging #日志收集器 #默认的日志收集器是root,默认收集WARNING以上等级的日志。 logging.debug("这是debug等级的日志信息") logging.info("这是info等级的日志信息") logging.warning("这是warning等级的日志信息") logging.error("这是error等级的日志信息") logging.critical("这是critical等级的日志信息")
import logging #创建自己的日志收集器 my_log = logging.getLogger("my_log") #设置收集的日志等级,设置为DEBUG等级 my_log.setLevel("DEBUG") #日志输出 my_log.debug("--my_log_debug--") my_log.info("--my_log_info--") my_log.warning("--my_log_warning--") my_log.error("--my_log_error")
#创建一个日志输出渠道,输出到控制台 l_s = logging.StreamHandler() #设置输出的日志等级为INFO以上 l_s.setLevel("INFO") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_s)
#创建一个日志输出渠道,输入到文件中 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) # 设置输出的日志等级为DEBUG以上 l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_f)
import logging # 创建自己的日志收集器 my_log = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 my_log.setLevel("DEBUG") # 日志输出渠道 # 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上 l_s = logging.StreamHandler() l_s.setLevel("INFO") # 创构建一个日志输出渠道(输出到文件),并且设置输出的日志等级为DEBUG以上 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_s) my_log.addHandler(l_f) #日志输出 my_log.debug("--my_log_debug--") my_log.info("--my_log_info--") my_log.warning("--my_log_warning--") my_log.error("--my_log_error") my_log.error("--my_log_critical")
控制台输出结果为:
日志文件的输出结果为:
工作中常用格式如下:
ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s"
这个格式可以输出日志的打印时间,是哪个模块的哪一行输出的,输出的日志级别是什么,以及输出的日志内容。
import logging # 创建自己的日志收集器 my_log = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 my_log.setLevel("DEBUG") # 日志输出渠道 # 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上 l_s = logging.StreamHandler() l_s.setLevel("INFO") # 创构建一个日志输出渠道(输出到文件),并且设置输出的日志等级为DEBUG以上 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_s) my_log.addHandler(l_f) # 设置日志输出的格式 ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s" ft = logging.Formatter(ft) # 设置控制台和日志文件输出日志的格式 l_s.setFormatter(ft) l_f.setFormatter(ft) #日志输出 my_log.debug("--my_log_debug--") my_log.info("--my_log_info--") my_log.warning("--my_log_warning--") my_log.error("--my_log_error") my_log.error("--my_log_critical")
控制台输出结果为:
日志文件的输出结果为:
第一种方法:__init__
import logging class MyLogging(object): def __init__(self): # 创建自己的日志收集器 self.my_log = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 self.my_log.setLevel("DEBUG") # 日志输出渠道 # 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上 l_s = logging.StreamHandler() l_s.setLevel("INFO") # 创构建一个日志输出渠道(输出到文件),并且设置输出的日志等级为DEBUG以上 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 self.my_log.addHandler(l_s) self.my_log.addHandler(l_f) # 设置日志输出的格式 ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s" ft = logging.Formatter(ft) # 设置控制台和日志文件输出日志的格式 l_s.setFormatter(ft) l_f.setFormatter(ft) def debug(self,msg): self.my_log.debug(msg) def info(self,msg): self.my_log.info(msg) def warning(self,msg): self.my_log.warning(msg) def error(self,msg): self.my_log.error(msg) def critical(self,msg): self.my_log.critical(msg) #日志输出 m_log = MyLogging() m_log.debug("--my_log_debug--") m_log.info("--my_log_info--") m_log.warning("--my_log_warning--") m_log.error("--my_log_error") m_log.critical("--my_log_critical")
输出结果为:
第二种方法:普通
import logging class MyLogging(object): def create_logger(*args,**kwargs): # 创建自己的日志收集器 my_log = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 my_log.setLevel("DEBUG") # 日志输出渠道 # 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上 l_s = logging.StreamHandler() l_s.setLevel("INFO") # 创构建一个日志输出渠道(输出到文件),并且设置输出的日志等级为DEBUG以上 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_s) my_log.addHandler(l_f) # 设置日志输出的格式 ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s" ft = logging.Formatter(ft) # 设置控制台和日志文件输出日志的格式 l_s.setFormatter(ft) l_f.setFormatter(ft) return my_log def debug(self,msg): self.my_log.debug(msg) def info(self,msg): self.my_log.info(msg) def warning(self,msg): self.my_log.warning(msg) def error(self,msg): self.my_log.error(msg) def critical(self,msg): self.my_log.critical(msg) #日志输出 m_log = MyLogging() logger = m_log.create_logger() logger.debug("--my_log_debug--") logger.info("--my_log_info--") logger.warning("--my_log_warning--") logger.error("--my_log_error") logger.critical("--my_log_critical")
输出结果为:
第三种方法:直接使用__new__
import logging class MyLogging(object): def __new__(cls,*args,**kwargs): # 创建自己的日志收集器 my_log = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 my_log.setLevel("DEBUG") # 日志输出渠道 # 创建一个日志输出渠道(输出到控制台),并且设置输出的日志等级为INFO以上 l_s = logging.StreamHandler() l_s.setLevel("INFO") # 创构建一个日志输出渠道(输出到文件),并且设置输出的日志等级为DEBUG以上 l_f = logging.FileHandler("login.log",encoding=‘utf8‘) l_f.setLevel("DEBUG") #将日志输出渠道添加到日志收集器中 my_log.addHandler(l_s) my_log.addHandler(l_f) # 设置日志输出的格式 ft = "%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s: %(message)s" ft = logging.Formatter(ft) # 设置控制台和日志文件输出日志的格式 l_s.setFormatter(ft) l_f.setFormatter(ft) return my_log def debug(self,msg): my_log.debug(msg) def info(self,msg): my_log.info(msg) def warning(self,msg): my_log.warning(msg) def error(self,msg): my_log.error(msg) def critical(self,msg): my_log.critical(msg) #日志输出 m_log = MyLogging() m_log.debug("--my_log_debug--") m_log.info("--my_log_info--") m_log.warning("--my_log_warning--") m_log.error("--my_log_error") m_log.critical("--my_log_critical")
输出结果为:
import logging from logging.handlers import RotatingFileHandler # 创建自己的日志收集器 logger = logging.getLogger("my_log") # 设置收集的日志等级,设置为DEBUG等级 logger.setLevel("DEBUG") # 设置日志名称为test.log,日志最大字节数为1024,最多只能存在3个文件,设置日志格式为utf8 rf = RotatingFileHandler(filename="test.log", maxBytes=1024, backupCount=3, encoding="utf8") # 将日志输出渠道添加到日志收集器中 logger.addHandler(rf) for i in range(200): logger.debug("--my_log_debug--") logger.info("--my_log_info--") logger.warning("--my_log_warning--") logger.error("--my_log_error") logger.critical("--my_log_critical")
标签:使用 ror 自己的 跟踪 -- img loaded and byte
原文地址:https://www.cnblogs.com/wanglle/p/11503390.html