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

yipeiwu_com6年前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实现redis三种cas事务操作

cas全称是compare and set,是一种典型的事务操作。 简单的说,事务就是为了存取数据库中同一数据时不破坏操作的隔离性和原子性,从而保证数据的一致性。 一般数据库,比如M...

在python的WEB框架Flask中使用多个配置文件的解决方法

有些框架本身就支持多配置文件,例如Ruby On Rails,nodejs下的expressjs。python下的Flask虽然本身支持配置文件管理, 但单纯使用from_object和...

Pandas:DataFrame对象的基础操作方法

DataFrame对象的创建,修改,合并 import pandas as pd import numpy as np 创建DataFrame对象 # 创建DataFrame对...

Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

程序中常常需要复制一个对象, 按思路应该是这样的 a = [1, 2, 3] b = a # [1, 2, 3] print b 已经复制好了,但是现在得改变一下第一个元素...

Python实现给qq邮箱发送邮件的方法

本文实例讲述了Python实现给qq邮箱发送邮件的方法。分享给大家供大家参考。具体实现方法如下: #-*-coding:utf-8-*- #===================...