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中实现两个字典(dict)合并的方法
Sep 23 Python
python和bash统计CPU利用率的方法
Jul 10 Python
一个基于flask的web应用诞生(1)
Apr 11 Python
Python实现获取邮箱内容并解析的方法示例
Jun 16 Python
Tornado Web Server框架编写简易Python服务器
Jul 28 Python
python实现贪吃蛇小游戏
Mar 21 Python
Python二叉搜索树与双向链表转换算法示例
Mar 02 Python
利用Python小工具实现3秒钟将视频转换为音频
Oct 29 Python
Python实现子类调用父类的初始化实例
Mar 12 Python
零基础小白多久能学会python
Jun 22 Python
Python join()函数原理及使用方法
Nov 14 Python
Python 匹配文本并在其上一行追加文本
May 11 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中url函数介绍及使用示例
2014/02/13 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
PHP实现的简单网络硬盘
2015/07/29 PHP
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
jquery each()源代码
2011/02/14 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
js四舍五入数学函数round使用实例
2014/05/09 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
开源的javascript项目Kissy介绍
2014/11/28 Javascript
JS、jQuery中select的用法详解
2016/04/21 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
微信小程序 石头剪刀布实例代码
2017/01/04 Javascript
JS中双击和单击事件冲突的解决方法
2018/04/09 Javascript
Vue3 源码导读(推荐)
2019/10/14 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
教师实习自我鉴定
2013/12/18 职场文书
祖国在我心中演讲稿600字
2014/05/04 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
关于golang高并发的实现与注意事项说明
2021/05/08 Golang
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server