python的logging模块

引言

具体实践

#!/usr/bin/env python
# -*- coding=utf-8 -*-
import logging
appname = "com.thebingo.mhtt"
#创建一个logging的实例logger
logger = logging.getLoggger(appname)
#设定全局日志级别为DEBUG
logger.setLevel(logging.DEBUG)
#创建一个屏幕的handler,并且设定级别为DEBUG
ch = logging.StreamingHandler()
ch.setLevel(logging.DEBUG)
#创建一个文件的handler,并且设定级别为DEBUG
fh= logging.FileHandler("toMyself.log")
fh.setLevel(logging.CRITICAL)
#设置日志的格式
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s")
#add formatter to ch and fh
ch.setFormatter(formatter)
fh.setFormatter(formatter)
#add ch and fh to logger
logger.addHandler(ch)
logger.addHandler(fh)
#'application' code
logger.debug("debug message")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
logger.critical("critical message")

logging模块

logging模块提供logger,handler,filter,formatter.
logger:可以通过logging.getLogger(name)获取logger对象,如果不指定name则返回root对象。
handler:将日志记录(log record)发送到合适的目的地(destination),比如文件,socket等。一个logger对象可以通过addHandler方法添加多个handler,每个handler又可以定义不同日志级别,以实现日志分级过滤显示。

全局日志的权力大于局部日志。全局日志级别为CRITICAL的话,局部变量想设置为INFO或者DEBUG都会失效。

关于formatter的配置,采用的是%(<dict key>)s的形式,就是字典的关键字替换。
https://docs.python.org/3.5/l...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值