python logging日志模块原理及操作解析


Posted in Python onOctober 12, 2019

一、基本介绍

logging 模块是python自带的一个包,因此在使用的时候,不必安装,只需要import即可。

logging有 5 个不同层次的日志级别,可以将给定的 logger 配置为这些级别:

  • DEBUG:详细信息,用于诊断问题。Value=10。

  • INFO:确认代码运行正常。Value=20。

  • WARNING:意想不到的事情发生了,或预示着某个问题。但软件仍按预期运行。Value=30。

  • ERROR:出现更严重的问题,软件无法执行某些功能。Value=40。

  • CRITICAL:严重错误,程序本身可能无法继续运行。Value=50。

二、基本操作

主要调用logging.basicConfig(***kwargs*)这个函数对logging进行设置。函数常用的参数如下:

  • level:主要调整logging的级别

  • filename:输出日志的路径

  • filemode:直接写入还是追加写入

  • format:输出的格式

示例一:通过调整format,可以输出我们想要的格式

import logging
 
 logging.basicConfig(format='%(asctime)s - %(message)s', datefmt='%d-%b-%y %H:%M:%S')
 logging.warning('Admin logged out')

结果:

12-Jul-18 20:53:19 - Admin logged out

示例二:logging写多文件日志

#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
logging模块写多文件日志
"""

import logging

#创建文件
file_1 = logging.FileHandler('log_1.log', 'a')
#创建格式
fat = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s - %(module)s - %(message)s")
#文件应用格式
file_1.setFormatter(fat)

file_2 = logging.FileHandler('log_2.log', 'a')
fmt = logging.Formatter()
file_2.setFormatter(fmt)

logger1 = logging.Logger('s1', level=logging.ERROR)

logger1.addHandler(file_1)
logger1.addHandler(file_2)

#写日志
logger1.critical("i'm a error!")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
浅析Python中yield关键词的作用与用法
Nov 29 Python
浅谈使用Python变量时要避免的3个错误
Oct 30 Python
Python操作Oracle数据库的简单方法和封装类实例
May 07 Python
关于python列表增加元素的三种操作方法
Aug 22 Python
对python 操作solr索引数据的实例详解
Dec 07 Python
python 实现倒排索引的方法
Dec 25 Python
python实现日志按天分割
Jul 22 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
python GUI计算器的实现
Oct 09 Python
opencv python 对指针仪表读数识别的两种方式
Jan 14 Python
python用tkinter开发的扫雷游戏
Jun 01 Python
使用pycharm运行flask应用程序的详细教程
Jun 07 Python
Python爬虫之urllib基础用法教程
Oct 12 #Python
python 生成器和迭代器的原理解析
Oct 12 #Python
python 表格打印代码实例解析
Oct 12 #Python
Django+uni-app实现数据通信中的请求跨域的示例代码
Oct 12 #Python
python3.7将代码打包成exe程序并添加图标的方法
Oct 11 #Python
python 多进程并行编程 ProcessPoolExecutor的实现
Oct 11 #Python
Python 中list ,set,dict的大规模查找效率对比详解
Oct 11 #Python
You might like
CodeIgniter上传图片成功的全部过程分享
2013/08/12 PHP
ecshop实现smtp发送邮件
2015/02/03 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
php加速缓存器opcache,apc,xcache,eAccelerator原理与配置方法实例分析
2020/03/02 PHP
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
jQuery中parents()方法用法实例
2015/01/07 Javascript
javascript实现瀑布流加载图片原理
2016/02/02 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
python对视频画框标记后保存的方法
2018/12/07 Python
Python读取stdin方法实例
2019/05/24 Python
Python3 串口接收与发送16进制数据包的实例
2019/06/12 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
查看已安装tensorflow版本的方法示例
2020/04/19 Python
Anaconda的安装及其环境变量的配置详解
2020/04/22 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
css3实现图片遮罩效果鼠标hover以后出现文字
2013/11/05 HTML / CSS
纽约市的奢华内衣目的地:Anya Lust
2019/08/02 全球购物
mysql的最长数据库名,表名,字段名可以是多长
2014/04/21 面试题
送给程序员的20个Java集合面试问题
2014/08/06 面试题
安全生产先进个人材料
2014/02/06 职场文书
客服部工作职责范本
2014/02/14 职场文书
2015毕业寄语大全
2015/02/26 职场文书
2015年汽车销售经理工作总结
2015/04/27 职场文书
催款函范本大全
2015/06/24 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL