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 相关文章推荐
Python3 正在毁灭 Python的原因分析
Nov 28 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
python版飞机大战代码分享
Nov 20 Python
解决Pytorch 训练与测试时爆显存(out of memory)的问题
Aug 20 Python
python获取引用对象的个数方式
Dec 20 Python
pycharm 激活码及使用方式的详细教程
May 12 Python
Python SMTP配置参数并发送邮件
Jun 16 Python
可视化pytorch 模型中不同BN层的running mean曲线实例
Jun 24 Python
python实现图片转换成素描和漫画格式
Aug 19 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 Python
Python极值整数的边界探讨分析
Sep 15 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 json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
复制网页内容,粘贴之后自动加上网址的实现方法(脚本之家特别整理)
2014/10/16 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
jquery对所有input type=text的控件赋值实现方法
2016/12/02 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
vue-router 前端路由之路由传值的方式详解
2019/04/30 Javascript
webpack结合express实现自动刷新的方法
2019/05/07 Javascript
JS使用H5实现图片预览功能
2019/09/30 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
python解决Fedora解压zip时中文乱码的方法
2016/09/18 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
Python run()函数和start()函数的比较和差别介绍
2020/05/03 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
Luxplus丹麦:香水和个人护理折扣
2018/04/23 全球购物
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
电工工作职责范本
2014/02/22 职场文书
工作过失检讨书
2014/02/23 职场文书
省级优秀毕业生主要事迹
2014/05/29 职场文书
爱心捐书活动总结
2014/07/05 职场文书
尊师重教演讲稿
2014/09/04 职场文书
三峡人家导游词
2015/01/31 职场文书
消防安全月活动总结
2015/05/08 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python