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中getattr函数使用方法 getattr实现工厂模式
Jan 20 Python
python实现博客文章爬虫示例
Feb 26 Python
Python标准库之循环器(itertools)介绍
Nov 25 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
set在python里的含义和用法
Jun 24 Python
python之生成多层json结构的实现
Feb 27 Python
Python插件机制实现详解
May 04 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
Pytorch学习之torch用法----比较操作(Comparison Ops)
Jun 28 Python
python上下文管理的使用场景实例讲解
Mar 03 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
风味层面去分析咖啡油脂
2021/03/03 咖啡文化
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
2006/12/06 PHP
解析php中memcache的应用
2013/06/18 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP简单留言本功能实现代码
2017/06/09 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
PHP网页缓存技术优点及代码实例
2020/07/29 PHP
Firefox div高度自适应
2009/04/28 Javascript
js判断数据类型如判断是否为数组是否为字符串等等
2014/01/15 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
bootstrap table操作技巧分享
2017/02/15 Javascript
jQuery实现 RadioButton做必选校验功能
2017/06/15 jQuery
详解webpack+angular2开发环境搭建
2017/06/28 Javascript
微信小程序实现的图片保存功能示例
2019/04/24 Javascript
浅谈Vue.js之初始化el以及数据的绑定说明
2019/11/14 Javascript
归纳整理Python中的控制流语句的知识点
2015/04/14 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
python2.x实现人民币转大写人民币
2018/06/20 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
从pandas一个单元格的字符串中提取字符串方式
2019/12/17 Python
如何基于Python按行合并两个txt
2020/11/03 Python
基于html5实现的图片墙效果
2014/10/16 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
商务邀请函范文
2014/01/14 职场文书
校园公益广告语
2014/03/13 职场文书
导师推荐信范文
2014/05/09 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
2014年保育员工作总结
2014/12/02 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
三好学生竞选稿
2015/11/21 职场文书
高中信息技术教学反思
2016/02/16 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python