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 ...
随机推荐
- (Java实现) 图的m着色问题
图的m着色问题 [问题描述] 给定无向连通图G和m种不同的颜色.用这些颜色为图G的各顶点着色,每个顶点着一种颜色.如果有一种着色法使G中每条边的2个顶点着不同颜色,则称这个图是m可着色的.图的m着色问 ...
- Java实现 蓝桥杯 算法提高 数组求和
试题 算法提高 数组求和 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少? 输入格式 输入的第一行包含两个整数n, ...
- Java实现 洛谷 P1008 三连击
public class Main { public static void main(String[] args){ for(int i = 123; i <= 329; i++){ int[ ...
- java实现海盗比酒量
** 海盗比酒量** 有一群海盗(不多于20人),在船上比拼酒量.过程如下:打开一瓶酒,所有在场的人平分喝下,有几个人倒下了.再打开一瓶酒平分,又有倒下的,再次重复- 直到开了第4瓶酒,坐着的已经所剩 ...
- 疫情期间我是如何拿到20k的offer,2020年php面试题汇总
推荐视频:面试10家公司,收获9个offer,2020年PHP 面试问题 第一阶段1-2年 我认为1-2年对于PHP程序员来说是第一个门槛,这一阶段菜鸟正式从理论迈向企业级开发.我们知道如何使用工具. ...
- 如何监控 Linux 服务器状态?
Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此.为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展. 本文介绍的几个命令,不仅仅适用于服务器监控, ...
- go语言实现"生产者"和"消费者"的例子
学习java的多线程的时候最经典的一个例子就是生产者消费者模型的例子,最近在研究go语言协程,发现go提供的sync包中有很多和java类似的锁工具,尝试着用锁工具配合协程实现一个"消费者& ...
- css3中的skew(skewX,skewY)用法
这是html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- Mac Book 问题汇集
1.mac wifi 无法连接问题 1. 由于插入的USB 转接头导致,USB转接口带有网线插口,机器默认网页接口接口导致. 解决方案: 拔掉转接口,连上WiFi ,再插入转接口使用 2.可以是路由器 ...
- 停电后,在UPS电源下服务器自动关机脚本
一年总有那么几次莫明停电,公司的服务器经不起这样的折腾 写了一个断电后UPS备用电源自动关机的脚本 原理就是检测路由器网关是否能ping通,长时间持续ping不通视为停电了 路由器不要接到ups上 用 ...