Python3-logging模块-日志记录
Python3中的logging模块提供了较为灵活的事件日志系统
日志级别
DEBUG < INFO < WARING(Python默认) < ERROR < FATAL(CRITICAL)
logging模块常用的类主要有以下几个
logging.Logger
主要提供应用程序代码直接使用的接口,一般不会直接实例化,而是通过logging.getLogger(name)得到
logging.Handler
日志处理对象的基类,不应实例化,被实例化的应该是其子类,如logging.StreamHandler,它负责发送日志记录到正确的目标
logging.Formatter
它决定了以怎样的格式来进行打印日志记录,常用的日志格式如下:
%(name)s
Logger对象的名字
%(levelname)s
日志级别的英文表示
%(filename)s
调用日志输出函数的模块名
%(lineno)s
调用日志输出函数的语句所在的代码行
%(asctime)s
字符串形式的当前时间
%(message)s
用户输出的消息
示例代码
import logging # 1.初始化日志默认配置
logging.basicConfig(filename='./my.log', # 日志输出文件
level=logging.DEBUG, # 日志写入级别
datefmt='%Y-%m-%d %H:%M:%S', # 时间格式
format='%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s') # 日志写入格式 # 2.打印不同级别的日志记录
logging.debug("debug级别的日志")
logging.info("info级别的日志")
logging.warning("warning级别的日志")
logging.error("error级别的日志")
logging.critical("fatal级别的日志")
1.基础配置仅打印日志到文件
import logging # Formatter对象 用于决定日志打印的格式
fmt = logging.Formatter("%(asctime)s %(levelname)s Line:%(lineno)s==>%(message)s")
fmt.datefmt = "%Y-%m-%d %H:%M:%S" # 可以自定义时间的格式 # Handler对象 将(logger创建的)日志记录发送到合适的目的输出
ch = logging.StreamHandler() # 标准输出流处理对象
ch.setFormatter(fmt)
ch.setLevel(logging.WARNING) fh = logging.FileHandler("./jet.log") # 文件处理对象
fh.setFormatter(fmt)
fh.setLevel(logging.FATAL) # Logger对象 对外暴露的接口
logger = logging.getLogger("Jet")
logger.addHandler(ch)
logger.addHandler(fh)
logger.setLevel(logging.INFO) # 日志级别总控制,以它为最低级别 # 日志输出
logger.debug("debug级别的日志")
logger.info("info级别的日志")
logger.warning("warning级别的日志")
logger.error("error级别的日志")
logger.critical("fatal级别的日志")
2.自定义配置双向输出日志到控制台和文件
参考资料
http://python.usyiyi.cn/translate/python_352/library/logging.html
Python3-logging模块-日志记录的更多相关文章
- Python3 logging 模块
Python3 logging模块 日志模块: 用于便捷记录日志且线程安全的模块 CRITICAL = 50 FATAL = CRITICAL ERROR = 40 WARNING = 30 WARN ...
- 解决logging模块日志信息重复问题
解决logging模块日志信息重复问题 问题描述 相信大家都知道python的logging模块记录日志信息的步骤: # coding:utf-8 import logging ### 创建logge ...
- python3 logging模块
很多程序都有记录日志的需求,并且日志包含的信息有正常的程序访问日志还可能有错误,警告等信息输出,python的logging模块提供了标准的日志接口,可以通过它存储各种格式的日志,日志级别等级:cri ...
- Python3 logging模块&ConfigParser模块
''' 博客园 Infi_chu ''' ''' logging模块 该模块是关于日志相关操作的模块 ''' import logging # logging.debug('debug') # log ...
- 【Pytyon模块】logging模块-日志处理
一.日志相关概念 1.日志的作用 通过log的分析,可以方便用户了解系统或软件.应用的运行情况:如果你的应用log足够丰富,也可以分析以往用户的操作行为.类型喜好.地域分布或其他更多信息:如果一个应用 ...
- Python logging模块使用记录
1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...
- logging模块--日志文件
初级的使用配置模式类似与print 默认打印waring等级及以上--通过更改等级来测试代码 logging.debug("debug no china") #调试模式 loggi ...
- Python logging模块日志存储位置踩坑
问题描述 项目过程中写了一个小模块,设计到了日志存储的问题,结果发现了个小问题. 代码结构如下: db.py run.py 其中db.py是操作数据库抽象出来的一个类,run.py是业务逻辑代码.两个 ...
- python logging模块日志回滚TimedRotatingFileHandler
# coding=utf-8 import logging import time import os import logging.handlers import re def logger(app ...
随机推荐
- jchdl - RTL实例 - And
https://mp.weixin.qq.com/s/86d_sFN0xVqk1xRaRyoAkg 使用rtl语法,实现简单的与门. 参考链接 https://github.com/wjcdx ...
- JavaScript 引用数据类型
目录 1. 问题描述 2. 原因分析 3. React 中的引用数据类型 4. 业务场景 5. 参考资料 1. 问题描述 今天在写一个代码题时候, 有一个BUG 导致自己停滞好久, 该BUG 可以描述 ...
- 大型可视化项目用什么工具好呢?——不如了解一下阿里云DataV尊享版
随着信息化的发展和进步,可视化大屏开始为社会各行业提供全面应用.目前越来越多的需求显示希望大屏能够更直观的还原出所要展示数据可视化的真实场景,让整个项目更立体.更有科技感,让项目在面对复杂操作时能灵活 ...
- MyBatis特性详解
缓存简介 一般我们在系统中使用缓存技术是为了提升数据查询的效率.当我们从数据库中查询到一批数据后将其放入到混存中(简单理解就是一块内存区域),下次再查询相同数据的时候就直接从缓存中获取数据就行了. 这 ...
- Java实现 LeetCode 653 两数之和 IV - 输入 BST(递归,找差值)
653. 两数之和 IV - 输入 BST 给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 案例 1: 输入: 5 / \ 3 6 / ...
- Java实现 LeetCode 72 编辑距离
72. 编辑距离 给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 . 你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字 ...
- Java实现 LeetCode 25 K个一组翻转链表
25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度. 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持 ...
- http1.0 、http1.1和http2.0的区别
一.HTTP1.0 HTTP 1.1主要区别 1.1 长链接 HTTP 1.0需要使用keep-alive参数来告知服务器端要建立一个长连接,而HTTP1.1默认支 ...
- 数据结构&算法
20个最常用.最基础数据结构与算法: 10个数据结构:数组.链表.栈.队列.散列表.二叉树.堆.跳表.图.Trie 树. 10个 算法 :递归.排序.二分查找.搜索.哈希.贪心.分治.回溯. ...
- iOS -iOS9中提示框(UIAlertController)的常见使用
iOS 8 之前提示框主要使用 UIAlertView和UIActionSheet:iOS 9 将UIAlertView和UIActionSheet合二为一为:UIAlertController . ...