python logging模块使用

logging模块有两种使用方式

1.直接调用函数

2.使用logging提供的四大组件

日志级别

DEBUG       10         最详细的信息,开发过程中用于诊断问题
INFO        20         详细日志信息仅次于debug,记录关键节点的信息
WARNING     30(默认)   当前不期望的事情发生
ERROR       40          发生错误问题导致某些观念跟那个不能正常使用
CRITICAL    50           发生严重错误导致程序不能继续运行

基本函数:

basicConfig

debug

info

warning

error

critical

下面举一个例子

import logging
logging.basicConfig(format='%(levelname)s:%(message)s',level=logging.DEBUG,datefmt='%Y-%m-%d %H:%M:%S')
logging.debug('Python message format Debug')
logging.info('Python message format Info')
logging.warning('Python message format Warning')

上述代码解释:basicConfig中,format是指定格式,levelname表示日志等级,默认是warning,只有warning以及以上的才能被输出,如果是DEBUG,那么所有的等级都可以被输出,上面是定义为DEBUG,message代表输出的内容

logger四大组件

日志器 logger
处理器 handler
过滤器 filter
格式期 formatter

下面介绍一下四大组件的简单使用

import logging
#创建logger对象
logger=logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)

#创建文件处理器对象
file_handler=logging.FileHandler('my_log_file.log')
file_handler.setLevel(logging.INFO)

#创建控制台处理对象
console_handler=logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)

#创建过滤器对象
filter_obj=logging.Filter(name='my_filter')

#创建格式化器对象
formatter=logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')

#将处理器添加到logger对象中
logger.addHandler(file_handler)
logger.addHandler(console_handler)

#将过滤器添加到处理器中
file_handler.addFilter(filter_obj)

console_handler.setFormatter(formatter)

logger.debug('this is a debug message')
logger.info('this is an info message')
logger.warning('This is a warning message')
logger.error('This is an error message')
logger.critical('This is a critical message')

输出: 

上述代码创建了一个名为 my_logger 的 logger 对象,并将其级别设置为 DEBUG。然后分别创建了一个文件处理器对象和一个控制台处理器对象,用于将日志信息记录到指定的文件和控制台上。接着创建了一个名为 my_filter 的过滤器对象,用于过滤某些特定的日志信息。最后创建了一个格式化器对象,用于在输出日志信息时指定显示格式。

日志信息可以通过调用 logger 对象的不同方法来发送,比如 logger.debug()、logger.info() 等等。在发送日志信息时,其级别需要与 logger 对象的级别匹配,才能被正确记录。如果某个处理器或过滤器对象是有级别的,则只有当日志信息级别大于等于该对象的级别时,才会被该对象处理。

以上就是python 中logger模块的介绍!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值