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 多线程实例详解
Mar 25 Python
Python批量合并有合并单元格的Excel文件详解
Apr 05 Python
利用python画出折线图
Jul 26 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
Python利用WMI实现ping命令的例子
Aug 14 Python
keras 特征图可视化实例(中间层)
Jan 24 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
python如何做代码性能分析
Apr 26 Python
浅谈Python数学建模之线性规划
Jun 23 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 Python
django 认证类配置实现
Nov 11 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 中文字符串首字母的获取函数分享
2013/11/04 PHP
ThinkPHP之getField详解
2014/06/20 PHP
php利用事务处理转账问题
2015/04/22 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
jquery实现文本框数量加减功能的例子分享
2014/05/10 Javascript
jQuery大于号(>)选择器的作用解释
2015/01/13 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
2018/09/25 Javascript
koa router 多文件引入的方法示例
2019/05/22 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
JS关闭子窗口并且刷新上一个窗口的实现示例
2020/03/10 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
VUE中鼠标滚轮使div左右滚动的方法详解
2020/12/14 Vue.js
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
C++的几个面试题附答案
2016/08/03 面试题
咖啡店自主创业商业计划书
2014/01/22 职场文书
高中学生期末评语
2014/04/25 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
保卫工作个人总结
2015/03/03 职场文书
单位介绍信格式范文
2015/05/04 职场文书
初中信息技术教学反思
2016/02/16 职场文书