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之hello world
May 21 Python
Python多线程和队列操作实例
Jun 21 Python
python魔法方法-自定义序列详解
Jul 21 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
Python实现的异步代理爬虫及代理池
Mar 17 Python
使用Python设计一个代码统计工具
Apr 04 Python
python实现弹窗祝福效果
Apr 07 Python
Django Python 获取请求头信息Content-Range的方法
Aug 06 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
python安装sklearn模块的方法详解
Nov 28 Python
python 基于selenium实现鼠标拖拽功能
Dec 24 Python
python如何进行基准测试
Apr 26 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
PHP5在Apache下的两种模式的安装
2006/09/05 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
PHP7常量数组用法分析
2016/09/26 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
使用jquery插件实现图片延迟加载技术详细说明
2011/03/12 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
用jquery模仿的a的title属性的例子
2014/10/22 Javascript
JS获取表格内指定单元格html内容的方法
2015/03/31 Javascript
JavaScript实现基于Cookie的存储类实例
2015/04/10 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
JS实现电脑虚拟键盘的操作
2020/06/24 Javascript
多线程爬虫批量下载pcgame图片url 保存为xml的实现代码
2013/01/17 Python
详解Python的Django框架中的模版继承
2015/07/16 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python 自动去除空行的实例
2018/07/24 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
python中seaborn包常用图形使用详解
2019/11/25 Python
pandas分组聚合详解
2020/04/10 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
Linux操作面试题
2012/05/16 面试题
大四学生毕业自荐信
2013/11/07 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
保护环境建议书
2014/03/12 职场文书
班主任2015新年寄语
2014/12/08 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
承诺书的签字人,需不需要承担相应的责任?
2019/07/09 职场文书
用Python爬取某乎手机APP数据
2021/06/15 Python
MySQL详解进行JDBC编程与增删改查方法
2022/06/16 MySQL