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模块的介绍!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python logging 模块Python 标准库的一个模块,用于记录程序运行时的日志信息。使用 logging 模块可以方便地记录程序的运行状态,以便在出现问题时进行排查。 使用 logging 模块需要先导入模块,然后创建一个 logger 对象,设置日志级别和输出格式,最后在程序使用 logger 对象记录日志信息。 下面是一个简单的示例代码: ``` import logging # 创建 logger 对象 logger = logging.getLogger('mylogger') # 设置日志级别 logger.setLevel(logging.DEBUG) # 创建一个输出到控制台的 handler console_handler = logging.StreamHandler() console_handler.setLevel(logging.DEBUG) # 创建一个输出到文件的 handler file_handler = logging.FileHandler('mylog.log') file_handler.setLevel(logging.INFO) # 设置输出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') console_handler.setFormatter(formatter) file_handler.setFormatter(formatter) # 将 handler 添加到 logger 对象 logger.addHandler(console_handler) logger.addHandler(file_handler) # 记录日志信息 logger.debug('debug message') logger.info('info message') logger.warning('warning message') logger.error('error message') logger.critical('critical message') ``` 在上面的示例代码,我们创建了一个名为 `mylogger` 的 logger 对象,并设置了日志级别为 `DEBUG`。然后创建了一个输出到控制台的 handler 和一个输出到文件的 handler,并设置了输出格式。最后将这两个 handler 添加到 logger 对象。 在程序使用 logger 对象记录日志信息时,可以使用 `debug()`、`info()`、`warning()`、`error()`、`critical()` 等方法,分别对应不同的日志级别。例如,`logger.debug('debug message')` 就会记录一条 DEBUG 级别的日志信息。 以上就是 Python logging 模块的基本使用方法。 ### 回答2: Pythonlogging模块是一个强大的日志记录工具。它提供了一种灵活的方式来在程序记录日志,以便在程序运行过程获取有用的信息和诊断数据。下面是如何使用Python logging模块的基本步骤。 1. 导入logging模块: ```python import logging ``` 2. 配置日志记录器: ```python logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(levelname)s %(message)s', filename='app.log', filemode='w') ``` 在配置方法,level参数设置日志级别,可选项包括DEBUG、INFO、WARNING、ERROR和CRITICAL。format参数定义日志记录的格式,其asctime表示日志记录的时间,levelname表示日志级别,message表示要记录的消息。filename参数指定日志文件的名称,filemode参数定义日志写入模式,例如'w'表示写入模式,'a'表示追加模式。 3. 记录日志: ```python logging.debug('Debug message') logging.info('Info message') logging.warning('Warning message') logging.error('Error message') logging.critical('Critical message') ``` 使用logging模块的不同方法来记录不同级别的日志。 4. 进一步配置日志记录器: ```python logger = logging.getLogger('my_logger') logger.setLevel(logging.DEBUG) ``` 如果需要更多的配置选项,可以创建一个logger对象,并使用setLevel方法设置日志级别。 通过这些步骤,可以在程序使用logging模块记录日志。这样,可以根据需要记录不同级别的日志,并通过指定的格式将日志写入到文件。日志记录对于程序的调试和问题排查非常有帮助。 ### 回答3: Pythonlogging模块是一个内置的日志记录工具。它提供了一种简单而灵活的方式来记录运行时的信息,帮助我们调试程序和追踪错误。下面是使用logging模块的一些主要步骤: 1. 导入logging模块: ```python import logging ``` 2. 设置日志记录的级别: ```python logging.basicConfig(level=logging.DEBUG) ``` 这里设置的是日志记录的最低级别为DEBUG,即记录所有级别的日志信息。还有其他的级别可选择,如:INFO、WARNING、ERROR等,可以根据需要设置。 3. 编写日志信息: ```python logging.debug("This is a debug message") logging.info("This is an info message") logging.warning("This is a warning message") logging.error("This is an error message") ``` 4. 输出日志信息: 日志信息可以输出到控制台、文件或其他地方。默认情况下,日志信息会输出到控制台。 ```python logging.debug("This is a debug message") ``` 可以通过配置logging模块将日志信息输出到文件。 ```python logging.basicConfig(filename='example.log', level=logging.DEBUG) ``` 这里将日志信息输出到文件"example.log"。 以上是使用logging模块的基本步骤。logging模块还支持更高级的用法,如添加时间戳、设置日志的格式等。可以通过查阅官方文档来了解更多关于logging模块的详细信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值