美文网首页
python logging模块

python logging模块

作者: 三方斜阳 | 来源:发表于2021-05-25 10:37 被阅读0次

    1. 简介:

    • 日志是对于软件执行所发生的事件的一种追踪记录方式。日常使用过程中对代码执行的错误和问题会进行查看日志来分析定位问题所在。平常编写代码以及调试也经常用到。
    • python logging 模块是用来记录日志的,代码运行的过程中希望记录一些重要的输出信息,以前写日志需要自己往文件里写记录信息,使用了logging之后只需要一次配置好,非常方便。logging模块有两种使用方法,一种是简单的函数式,另一种是用logging对象的方式,对象的方式使用起来功能更全更灵活,所以使用最多的也是对象的方式。

    2. 用法:

    • 默认简单示例:
    import logging
    logging.warning('this is warning')
    logging.info('this is info')
    >>
    2021-05-25 10:14:59,195 - root - WARNING - this is warning
    2021-05-25 10:14:59,196 - root - INFO - this is info
    
    • 设置为最低级别:
    import logging 
    logging.basicConfig(level=logging.DEBUG)
    logging.debug('this is debug')
    logging.info('this is info')
    logging.warning('this is warning')
    logging.error('this is error')
    >>
    2021-05-25 10:18:40,280 - root - INFO - this is info
    2021-05-25 10:18:40,281 - root - WARNING - this is warning
    2021-05-25 10:18:40,282 - root - ERROR - this is error
    
    • 将日志保存(常用)
      运行代码之后可以看到会生成一个 log.log 的文件,声明logger对象之后,可以在任何的代码文件中记录日志输出,只需要在记录前声明同样的logger对象(一般在引入包之后声明一行logger = logging.getLogger(name) ),如下:
    import logging 
    logger = logging.getLogger(__name__)
    logging.basicConfig(format = '%(asctime)s - %(levelname)s - %(name)s -   %(message)s',
                        datefmt = '%m/%d/%Y %H:%M:%S',
                        level = logging.INFO,
                        filename='log.log')
    logger.info(f"device: {'sd'} n_gpu: {7}")
    logger.info("Num Epochs = %d", 12)
    logger.info(f" Batch size = {64}")
    >>文件内容
    05/25/2021 10:37:18 - INFO - __main__ -   device: sd n_gpu: 7
    05/25/2021 10:37:18 - INFO - __main__ -   Num Epochs = 12
    05/25/2021 10:37:18 - INFO - __main__ -    Batch size = 64
    

    参考:
    python 日志模块logging的使用场景及示例

    相关文章

      网友评论

          本文标题:python logging模块

          本文链接:https://www.haomeiwen.com/subject/wveqsltx.html