Python中logging日志模块详解(精心整理版本)

Python中logging模块学习

什么是logging模块?

logging模块是python提供的用于记录程序日志的模块

为什么需要logging模块?

我们完全可以自己打开文件然后将日志写进去,但是这种方法需要重复操作并且没有任何技术含量,所以python帮我们将日志封装成了logging模块,这样我们在记录日志时,只需要简单的调用接口即可!

日志级别

在开始记录日志前,还需要明确日志的级别。

随着程序的使用和时间的推移,会产生大量的日志,那么如何在大量日志中快速找到需要的信息成为了问题,那么解决方法就是将日志划分级别。
logging模块将日志划分为了5个级别,从低到高分别是:

  1. logging.debug—调试信息,细粒度,比较重要的方法需要查看变量的详细信息或者详细运行情况时开启。
  2. logging.info—常规信息,粗粒度,比如了解某个函数是否运行可以使用INFO。
  3. logging.warning—
  4. logging.error—
  5. logging.critical—

本质上他们是使用数字来表示级别的,从低到高分别是10,20,30,40,50.

logging模块的基础使用

一、最简单的使用方式(默认配置)

# 导入模块
import logging

# 输出日志
logging.debug("debug message")
logging.info("info messange")
logging.warning("warning message")
logging.error("error message")
logging.critical("critical message")

# 控制台输出为:
# WARNING:warning
# ERROR:error
# CRITICAL:critical

我们会发现debug和info的信息都没有输出,这是因为它们的级别不够,默认情况下logging的最低显示级别为warning,对应的数值为30.

以上是最简单的日志输出方式,但并不是最有用的,大多数情况下我们需要自己配置logging的行为。

二、基础使用方式(简单地自定义配置)

1、使用方法:

import logging
logging.basicConfig()
"""
可用参数:
filename: 设置日志存储的文件名
filemode: 设置日志文件的打开方式,默认为追加"a",可以修改为重写"w"
format: 指定日志显示格式
datefmt: 指定日期时间格式
level: 设置日志的级别
"""
logging.basicConfig(
    filename = "output.log",
    filemode = "a",
    datefmt = "%Y-%m-%d %H:%M:%S %p",
    format = "line:%(lineno)d-%(asctime)s-[%(levelname)s]-funtion:%(funcName)s: %(message)s",
    level = logging.DEBUG
)

说明:logging.basicConfig()是一个一次性的简单配置工具,也就是说旨在第一次调用时该函数会起作用,后续调用不会起作用,作用更不会累加。

2、格式化全部可用名称:

%(name)s: Logger的名字,并非用户名,详细
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值