python的logging方法使用

该代码示例展示了如何在Python中设置日志系统,使用logging模块创建logger,添加FileHandler来记录日志到文件,同时用StreamHandler将日志输出到控制台。日志级别包括DEBUG,INFO,WARNING,ERROR和CRITICAL,确保不同级别的信息都能被适当地处理。
摘要由CSDN通过智能技术生成
import logging

def writ2log(log_dir,log_files_name):
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.DEBUG)

    # 创建一个FileHandler,用于写入日志文件
    log_file = '{0}{1}.log'.format(log_dir,log_files_name)
    fh = logging.FileHandler(log_file, mode='a',encoding='utf-8')
    fh.setLevel(logging.DEBUG)

    # 创建一个StreamHandler,用于输出到控制台
    ch = logging.StreamHandler()
    ch.setLevel(logging.DEBUG)

    # 定义日志格式
    formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
    fh.setFormatter(formatter)
    ch.setFormatter(formatter)

    # 添加两个Handler
    logger.addHandler(fh)
    logger.addHandler(ch)
    return logger

if __name__ == '__main__':
    logger=writ2log("./logs/","newlogs")
    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.')

输出效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python logging 模块是 Python 标准库中提供的一个日志记录工具,它可以用来记录应用程序运行时的信息,便于开发人员排查问题和分析程序性能。 使用 Python logging 模块,需要先导入 logging 模块,然后创建一个 logger 对象,通过配置 logger 的不同 handler,可以控制不同级别的日志输出到不同的地方。 下面是一个简单的使用示例: ```python import logging # 创建一个 logger 对象 logger = logging.getLogger(__name__) # 配置 logger 的 handler handler = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) # 设置 logger 的日志级别 logger.setLevel(logging.INFO) # 记录日志 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') ``` 在上面的示例中,我们首先创建了一个名为 `__name__` 的 logger 对象,然后配置了一个输出到标准输出的 handler,并设置了日志级别为 `INFO`。接着我们分别记录了不同级别的日志信息,最终输出的日志信息如下: ``` 2021-08-25 16:09:59,757 - __main__ - INFO - This is an info message 2021-08-25 16:09:59,757 - __main__ - WARNING - This is a warning message 2021-08-25 16:09:59,757 - __main__ - ERROR - This is an error message 2021-08-25 16:09:59,757 - __main__ - CRITICAL - This is a critical message ``` 可以看到,只有日志级别大于或等于 `INFO` 的日志信息被输出到了标准输出。如果我们希望将日志信息输出到文件,可以配置一个输出到文件的 handler,如下所示: ```python import logging # 创建一个 logger 对象 logger = logging.getLogger(__name__) # 配置 logger 的 handler handler = logging.FileHandler('example.log', mode='w') formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) # 设置 logger 的日志级别 logger.setLevel(logging.INFO) # 记录日志 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') ``` 在上面的示例中,我们将日志信息输出到了名为 `example.log` 的文件中。需要注意的是,如果文件不存在,将会被创建,如果文件已存在,将会被覆盖。如果想要追加日志信息而不是覆盖文件,可以将 `mode` 参数设置为 `'a'`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值