python logging日志模块原理及操作解析

yipeiwu_com7年前Python基础

一、基本介绍

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 将日期戳(五位数时间)转换为标准时间

python 将日期戳(五位数时间)转换为标准时间

5位数日期戳 读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解; 后来查到可以在excel中通过设置单元格调回标准日期格式,如下: 选中日期戳,...

Python接收Gmail新邮件并发送到gtalk的方法

本文实例讲述了Python接收Gmail新邮件并发送到gtalk的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python # -*- coding...

python中文件变化监控示例(watchdog)

在python中文件监控主要有两个库,一个是pyinotify ( https://github.com/seb-m/pyinotify/wiki ),一个是watchdog(http:...

python 获取当天每个准点时间戳的实例

实例如下所示: import time,datetime def gettime(): for x in range(24): a = datetime.d...

初步认识Python中的列表与位运算符

初步认识Python中的列表与位运算符

Python列表 List(列表) 是 Python 中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。 列表用[...