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中无限元素列表的实现方法
Aug 18 Python
跟老齐学Python之私有函数和专有方法
Oct 24 Python
Python中AND、OR的一个使用小技巧
Feb 18 Python
简单了解python单例模式的几种写法
Jul 01 Python
Apache,wsgi,django 程序部署配置方法详解
Jul 01 Python
python groupby 函数 as_index详解
Dec 16 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
matplotlib基础绘图命令之bar的使用方法
Aug 13 Python
详解Python高阶函数
Aug 15 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
Python Selenium XPath根据文本内容查找元素的方法
Dec 07 Python
Pytest中conftest.py的用法
Jun 27 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 stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
AngularJS使用指令增强标准表单元素功能
2016/07/01 Javascript
文件上传插件SWFUpload的使用指南
2016/11/29 Javascript
浅析BootStrap中Modal(模态框)使用心得
2016/12/24 Javascript
easyUI实现类似搜索框关键词自动提示功能示例代码
2016/12/27 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)
2019/04/04 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
python绘制多个曲线的折线图
2020/03/23 Python
python 美化输出信息的实例
2018/10/15 Python
CSS+jQuery+PHP+MySQL实现的在线答题功能
2015/04/25 HTML / CSS
HTML5利用约束验证API来检查表单的输入数据的代码实例
2016/12/20 HTML / CSS
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
美国在线珠宝商店:SZUL
2017/02/11 全球购物
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
支票、地址标签、包装纸和慰问卡:Current Catalog
2018/01/30 全球购物
C/C++程序员常见面试题一
2012/12/08 面试题
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
三好学生演讲稿范文
2014/04/26 职场文书
政治学求职信
2014/06/03 职场文书
七夕情人节促销方案
2014/06/07 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
家长给老师的感谢信
2015/01/20 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL