PythonLibs(9) - Logging

Logging 简易使用

python的logging模块提供了通用的日志系统,是python自带的一个包,无需安装,直接import即可。

logger 模块四大组件

  1. Logger: 提供了应用程序可以直接使用的接口,每个程序在输出信息之前都要获得一个Logger

Logger.addHandler(hdlr)、Logger.removeHandler(hdlr):增加或删除指定的handler

  1. Handler: 将日志记录(log record)发送到合适的目的地(destination),常用的是StreamHandler和FileHandler。(可以通过用basicConfig显示指定filename, 获取FileHandler;此外显示构造如下)。

FileHandler(filename[,mode])

  1. Filter: 提供一种优雅的方式决定一个日志记录是否发送到handler。

  2. Formatter: 指定日志记录输出的具体格式。

【todo】四个组件-系统性使用

对root logger 进行一次性配置:

# -*- coding=utf-8 -*-
import logging

# logging.basicConfig(level=logging.INFO, filename='log.txt', format='%(asctime)s %(message)s',filemode='w')  # 输出到文件里
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s',filemode='w')  # 输出到终端,配合 重定向何以输出到指定文件里

## level 日志等级,当为某个应用程序指定一个日志级别后,应用程序会记录所有日志级别 >= 指定日志级别的日志信息。当前配置 会输出级别为INFO及以上的信息
## filename  用指定的文件名创建FiledHandler,日志 会被存储在 指定文件 中
## filemode 文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”
## formatter, 定义了最终Log信息的顺序、结构和内容
#### %(name)s  --Logger的名字
#### %(levelname)s  --文本形式的日志级别
#### %(message)s  --用户输出的信息
#### %(asctime)s  --字符串形式的当前时间
# datefmt:指定日期时间格式,如果format参数中存在asctime,则需要指定时间格式

logging.debug('this is debug message.')
logging.info('this is info message.')
logging.warning('this is warning message.')
logging.error('this is error message.')
logging.critical('this is critical message.')

日志level信息

# CRITICAL = 50
# FATAL = CRITICAL
# ERROR = 40
# WARNING = 30
# WARN = WARNING
# INFO = 20
# DEBUG = 10
# NOTSET = 0
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值