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 抓取动态网页内容方案详解
Dec 25 Python
python列出目录下指定文件与子目录的方法
Jul 03 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
Anaconda2下实现Python2.7和Python3.5的共存方法
Jun 11 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
Aug 05 Python
在python2.7中用numpy.reshape 对图像进行切割的方法
Dec 05 Python
对python多线程中Lock()与RLock()锁详解
Jan 11 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
Python如何实现爬取B站视频
May 20 Python
Python数据可视化图实现过程详解
Jun 12 Python
python获取天气接口给指定微信好友发天气预报
Dec 28 Python
Python约瑟夫生者死者小游戏实例讲解
Jan 04 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
强烈推荐:php.ini中文版(1)
2006/10/09 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
javascript事件模型代码
2007/07/01 Javascript
js确定对象类型方法
2012/03/30 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
jQuery网页右侧广告跟随滚动代码分享
2020/04/20 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
javascript基本语法
2016/05/31 Javascript
JavaScript代码里的判断小结
2016/08/22 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
javascript中Date对象的使用总结
2016/11/21 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
2017/02/17 Javascript
ES6深入理解之“let”能替代”var“吗?
2017/06/28 Javascript
vue内置指令详解
2018/04/03 Javascript
详解package.json版本号规则
2019/08/01 Javascript
jquery实现简单拖拽效果
2020/07/20 jQuery
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
Python网络编程之TCP与UDP协议套接字用法示例
2018/02/02 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
python操作kafka实践的示例代码
2019/06/19 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
Python序列对象与String类型内置方法详解
2019/10/22 Python
如何利用python生成MD5并去重
2020/12/07 Python
pycharm 关闭search everywhere的解决操作
2021/01/15 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
航空大学应届生求职信
2013/11/10 职场文书
医院护士见习期自我鉴定
2014/04/10 职场文书
学校火灾防控方案
2014/06/09 职场文书
我的中国梦演讲稿800字
2014/08/19 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
python munch库的使用解析
2021/05/25 Python
Python中第三方库Faker的使用详解
2022/04/02 Python