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

yipeiwu_com5年前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 窗体(tkinter)树状数据(Treeview)详解

如下所示: import tkinter from tkinter import ttk #导入内部包 win=tkinter.Tk() tree=ttk.Treeview(wi...

Python网络编程之使用TCP方式传输文件操作示例

Python网络编程之使用TCP方式传输文件操作示例

本文实例讲述了Python网络编程之使用TCP方式传输文件操作。分享给大家供大家参考,具体如下: TCP文件下载器 客户端 需求:输入要下载的文件名,从服务器端将文件拷贝到本地 步骤:...

利用python模拟实现POST请求提交图片的方法

本文主要给大家介绍的是关于利用python模拟实现POST请求提交图片的方法,分享出来供大家参考学习,下面来一看看详细的介绍: 使用requests来模拟HTTP请求本来是一件非常轻松的...

python中管道用法入门实例

本文实例讲述了python中管道用法。分享给大家供大家参考。具体如下: #!coding=utf-8 import multiprocessing def consumer(pipe...

200行python代码实现2048游戏

Python实战系列用于记录实战项目中的思路,代码实现,出现的问题与解决方案以及可行的改进方向 本文为第2篇–200行Python代码实现2048 一、分析与函数设计 1.1 游戏玩法...