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爬虫给孩子起个好名字
Feb 14 Python
Python连接SQLServer2000的方法详解
Apr 19 Python
python写入已存在的excel数据实例
May 03 Python
Python发送邮件测试报告操作实例详解
Dec 08 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
Python面向对象封装操作案例详解
Dec 31 Python
Python tkinter常用操作代码实例
Jan 03 Python
OpenCV 表盘指针自动读数的示例代码
Apr 10 Python
Django全局启用登陆验证login_required的方法
Jun 02 Python
python开发入门——列表生成式
Sep 03 Python
Python的信号库Blinker用法详解
Dec 31 Python
virtualenv隔离Python环境的问题解析
Jun 21 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+mysql来做一个功能强大的在线计算器
2010/10/12 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
JS实现slide文字框缩放伸展效果代码
2015/11/05 Javascript
js字符串截取函数slice、substring和substr的比较
2016/05/17 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
实现点击下箭头变上箭头来回切换的两种方法【推荐】
2016/12/14 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
简单的抓取淘宝图片的Python爬虫
2014/12/25 Python
python实现字符串和日期相互转换的方法
2015/05/13 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
对变量赋值的理解--Pyton中让两个值互换的实现方法
2017/11/29 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
python 删除非空文件夹的实例
2018/04/26 Python
Python Pandas 获取列匹配特定值的行的索引问题
2019/07/01 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
简单了解Python write writelines区别
2020/02/27 Python
中英文自我评价语句
2013/12/20 职场文书
社区国庆节活动方案
2014/02/05 职场文书
项目合作意向书模板
2014/07/29 职场文书
会计师事务所实习证明
2014/11/16 职场文书
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
详解Flutter和Dart取消Future的三种方法
2022/04/07 Java/Android
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers