python日志记录模块

#日志的作用
#1,排错
#2,程序调试,一边开发一边调试
#3,用户行为分析
####python中记录日志的模块
# logging模块
#日志等级    数值表示    描述
#DEBUG      10        最详细的日志,常用于调试
#INFO        20         详细日志,记录关键节点
#WARNING     30        默认顶级,当前有不期望的事情发生了
#ERROR       40        发生了错误问题,导致某些功能不能正常使用
#CRITICAL    50        发生严重错误,程序不能运行
#####简单场景使用,
# import logging
# #格式类型可以去百度
# LOG_FORMAT = "%(asctime)s-%(levelname)s:%(message)s"
# logging.basicConfig(level=logging.INFO,format=LOG_FORMAT,filename="my.log")#写入文件
# logging.debug("this is debug")
# logging.info("this is ifo")
# logging.warning("this is warning")#默认等级及以上才能记录
# logging.error("this is error")

 

###日志在项目里的语法
#四大组件
#日志器Logger
#处理器Hander
#过滤器Filter
#格式器Formatter

# import logging
# #获取loggger对象,用于记录日志
# #等下所有的东西都要帮到logger上才能生效
# logger = logging.getLogger()
# #创建handler对象,用于写入日志,规定日志输出到那里,这里也只是创建了两个对象,必须绑到logger上才能有用
# fh = logging.FileHandler("my.log")
# #输出到屏幕
# ch = logging.StreamHandler()
# #指定格式
# formatter =logging.Formatter ("%(asctime)s-%(levelname)s:%(message)s")
# #绑定formatter到handler上
# fh.setFormatter(formatter)
# #绑定handler到logger上
# logger.addHandler(fh)
# logger.addHandler(ch)
#
# logger.info("logger info")
# logger.warning("logger warnning")
# logger.error("logger error")

 

日志轮转服务

1,按大小轮转

# #,按大小轮转
# import logging
# from logging.handlers import  RotatingFileHandler,TimedRotatingFileHandler#设置时间轮转和大小轮转
# #获取loggger对象,用于记录日志
# #等下所有的东西都要帮到logger上才能生效
# logger = logging.getLogger()
# #创建handler对象,用于写入日志,规定日志输出到那里,这里也只是创建了两个对象,必须绑到logger上才能有用
# # fh = logging.FileHandler("my.log")
# fh = RotatingFileHandler("my.log",maxBytes=500,backupCount=2)#500字节备份一下
# #输出到屏幕
# ch = logging.StreamHandler()
# #指定格式
# formatter =logging.Formatter ("%(asctime)s-%(levelname)s:%(message)s")
# #绑定formatter到handler上
# fh.setFormatter(formatter)
# #绑定handler到logger上
# logger.addHandler(fh)
# logger.addHandler(ch)
# for i in range(1000):
#     logger.warning(f"this is rotate test:{i}")

 二、按时间轮转

#####按时间轮转
import logging
from logging.handlers import  RotatingFileHandler,TimedRotatingFileHandler#设置时间轮转和大小轮转
#获取loggger对象,
#等下所有的东西都要帮到logger上才能生效
logger = logging.getLogger()
#创建handler对象,用于写入日志,规定日志输出到那里,这里也只是创建了两个对象,必须绑到logger上才能有用
# fh = logging.FileHandler("my.log")
fh = RotatingFileHandler("my.log",when="D",interval=2,backupCount=2)#D是按天轮转
#输出到屏幕
ch = logging.StreamHandler()
#指定格式
formatter =logging.Formatter ("%(asctime)s-%(levelname)s:%(message)s")
#绑定formatter到handler上
fh.setFormatter(formatter)
#绑定handler到logger上
logger.addHandler(fh)
logger.addHandler(ch)
for i in range(1000):
    logger.warning(f"this is rotate test:{i}")


####################3
#生成logger对象的时候,没有传递参数就去,那就生成root logger 父logger
#传递了参数类似于子logger,会继承父类的logger
logger2 = logging.getLogger("sc2")
logger2.warning("this is logger3 message")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值