首页 / 日志 / Python3-logging日志模块
Python3-logging日志模块
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python3-logging日志模块,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1968字,纯文字阅读大概需要3分钟。
内容图文
![Python3-logging日志模块](/upload/InfoBanner/zyjiaocheng/649/ec5c300704f941508844deade88d61ff.jpg)
日志模块
logging模块默认收集的日志是warning以上等级的
日志一共分为5个等级,从低到高分别是:
级别 | 说明 |
---|---|
DEBUG | 输出详细的运行情况,主要用于调试 |
INFO | 确定一切按预期运行,一般用于输出重要运行情况 |
WARNING | 一些意想不到的事情发生了(比如:“警告:内存空间不足”),但是这个软件还能按预期工作,在不久的将来,会出现问题 |
ERROR | 发生错误,软件没能执行一些功能,还可以继续执行 |
CRITICAL | 一个严重的错误,表名程序本身可能无法继续运行 |
导包
import logging
获取默认的日志收集器root
my_log = logging.getLogger()
设置默认的日志收集器等级
my_log.setLevel('DEBUG')
自定义日志收集器
一、创建一个名为python的日志收集器
my_log = logging.getLogger('python')
二、设置日志收集器的等级
my_log.setLevel('DEBUG')
三、添加输出渠道
① 输出到控制台
1、创建一个输出到控制台的输出渠道
sh = logging.StreamHandler()
2、设置输出等级
sh.setLevel('ERROR')
3、将输出渠道绑定到日志收集器上
my_log.addHandler(sh)
② 输出到文件
1、创建一个输出到控制台的输出渠道
fh = logging.FileHandler('log.log', encoding='utf8')
2、设置输出等级
fh.setLevel('DEBUG')
3、将输出渠道绑定到日志收集器上
my_log.addHandler(fh)
四、设置日志输出格式
1、创建一个日志输出格式
formatter = logging.Formatter('%(asctime)s - [%(filename)s-->line:%(lineno)d] - %(levelname)s: %(message)s')
2、将输出格式和输出渠道进行绑定
sh.setFormatter(formatter)
fh.setFormatter(formatter)
日志的轮转
① 按文件大小进行轮转
from logging.handlers import RotatingFileHandler
创建一个按文件大小轮转的文件输出渠道
fh = RotatingFileHandler(filename=file_name,
mode='a',
encoding='utf8',
maxBytes=1024 * 1024 * 20,
backupCount=3)
参数:
- maxBytes:设置文件的大小(单位:字节)
- 1024字节=1kb
- 1024kb = 1Mb
- backupCount:轮转的文件数量
② 按时间进行轮转
from logging.handlers import TimedRotatingFileHandler
创建一个按时间进行轮转的文件输出渠道
fh = TimedRotatingFileHandler(filename=file_name,
encoding='utf8',
when='S',
interval=1,
backupCount=6)
参数:
- interval:设置时间间隔
- when:设置间隔单位(默认H)
- S-Seconds(秒)
- M-Minutes(分钟)
- H-Hours(小时)
- D-Day(天)
- backupCount:轮转的文件数量
内容总结
以上是互联网集市为您收集整理的Python3-logging日志模块全部内容,希望文章能够帮你解决Python3-logging日志模块所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。