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中的descriptor描述器简明使用指南
Jun 02 Python
Python实现购物程序思路及代码
Jul 24 Python
Python实现基于多线程、多用户的FTP服务器与客户端功能完整实例
Aug 18 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
Mar 05 Python
如何使用python操作vmware
Jul 27 Python
详解Django将秒转换为xx天xx时xx分
Sep 27 Python
PyQt5多线程刷新界面防假死示例
Dec 13 Python
python剪切视频与合并视频的实现
Mar 03 Python
Python编写nmap扫描工具
Jul 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个人网站架设连环讲(三)
2006/10/09 PHP
国外比较好的几个的Php开源建站平台小结
2010/04/22 PHP
Destoon旺旺无法正常显示,点击提示“会员名不存在”的解决办法
2014/06/21 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
php封装db类连接sqlite3数据库的方法实例
2017/12/19 PHP
让您的菜单不离网站
2006/10/03 Javascript
use jscript Create a SQL Server database
2007/06/16 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
js微信支付实现代码
2016/12/22 Javascript
canvas知识总结
2017/01/25 Javascript
纯JS实现只能输入数字的简单代码
2017/06/21 Javascript
BootStrap给table表格的每一行添加一个按钮事件
2017/09/07 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
python网络编程之TCP通信实例和socketserver框架使用例子
2014/04/25 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python selenium 查找隐藏元素 自动播放视频功能
2019/07/24 Python
简单了解django orm中介模型
2019/07/30 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
Django实现将views.py中的数据传递到前端html页面,并展示
2020/03/16 Python
python中Django文件上传方法详解
2020/08/05 Python
python中random模块详解
2021/03/01 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
代理商会议邀请函
2014/01/27 职场文书
企业内控岗位的职责
2014/02/07 职场文书
优质服务活动实施方案
2014/05/02 职场文书
娱乐节目策划方案
2014/06/10 职场文书
蛋糕店创业计划书范文
2014/09/21 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
详解Redis瘦身指南
2021/05/26 Redis