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练习程序批量修改文件名
Jan 16 Python
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
Python中lambda的用法及其与def的区别解析
Jul 28 Python
开始着手第一个Django项目
Jul 15 Python
Python 中pandas.read_excel详细介绍
Jun 23 Python
pandas如何处理缺失值
Jul 31 Python
Django rest framework jwt的使用方法详解
Aug 08 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
python处理RSTP视频流过程解析
Jan 11 Python
django实现模型字段动态choice的操作
Apr 01 Python
python对execl 处理操作代码
Jun 22 Python
Python 制作查询商品历史价格的小工具
Oct 20 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
js和php邮箱地址验证的实现方法
2014/01/09 PHP
探寻PHP脚本不报错的原因
2014/06/12 PHP
php similar_text()函数的定义和用法
2016/05/12 PHP
PHP实现数据库的增删查改功能及完整代码
2018/04/18 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
2013/05/15 Javascript
js操作checkbox遇到的问题解决
2013/06/29 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
微信小程序 闭包写法详细介绍
2016/12/14 Javascript
ES6概念 ymbol.for()方法
2016/12/25 Javascript
jQuery层级选择器实例代码
2017/02/06 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
移动端Ionic App 资讯上下循环滚动的实现代码(跑马灯效果)
2017/08/29 Javascript
谈谈React中的Render Props模式
2018/12/06 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
python中将正则过滤的内容输出写入到文件中的实例
2018/10/21 Python
python利用Opencv实现人脸识别功能
2019/04/25 Python
Python实现Restful API的例子
2019/08/31 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
房屋出租协议书
2014/04/10 职场文书
桥梁工程专业求职信
2014/04/21 职场文书
工作检讨书500字
2014/10/19 职场文书
小学优秀教师材料
2014/12/15 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
Python中的变量与常量
2021/11/11 Python
世界无敌的ICOM IC-R9500宽频接收机
2022/03/25 无线电
MySQL分区以及建索引的方法总结
2022/04/13 MySQL