zoukankan      html  css  js  c++  java
  • python中日志logging模块和异常捕获traceback模块的使用

    在实际的生产使用中,常常需要使用日志配合异常捕获来监测程序的运行情况。本文对python中的Logging模块和traceback模块的使用做简单的总结,以便快速上手。

    1.日志模块(logging)

    python的logging模块可分别对日志级别、日志输出格式、日期输出格式,日志路径,打开文件方式等进行设置。

    basicConfig关键字参数

    (1) level

    (2) format

    (3) datefmt

    参考time.strftime

    2.异常捕获模块(traceback)

    • traceback.format_exc()以字符串返回异常信息
    • traceback.print_exc()直接打印出异常信息
      可以填入file参数,把异常信息填入到指定的file里
        traceback.print_exc(file=open('error.txt','a'))
    

    3.代码示例

    # -*- coding:utf-8 -*-
     
    import os
    import logging
    import traceback
     
    #设置log, 这里使用默认log
    logging.basicConfig(
        level=logging.INFO,                                                            #日志级别,只有日志级别大于等于设置级别的日志才会输出
        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',  #日志输出格式
        datefmt='[%Y-%m_%d %H:%M:%S]',                                                 # 日期表示格式
        filename=os.path.dirname(os.path.realpath(__file__)) + "/" + 'test.log',       #输出定向的日志文件路径
        filemode='a'                                                                   #日志写模式,是否尾部添加还是覆盖
        )
     
    a=10
    b=0 #设置为0, 走异常流程; 否则, 走正常流程
     
    try:
      res=a/b
      logging.info("exec success, res:" + str(res))
    except Exception,e:
      #format_exc()返回异常信息字符串,print_exc()则直接给打印异常信息
      traceback.print_exc()
      logging.warning("exec failed, failed msg:" + traceback.format_exc())
    

    参考链接

    日志模块logging设置:https://blog.csdn.net/Runner1st/article/details/96481954
    日志模块教程
    异常捕获教程

  • 相关阅读:
    调试与分析
    GCC
    汇编
    数据恢复
    TCP/IP
    shell
    vmstat、top
    计算程序运行时间的封装
    protobuf
    c++模板
  • 原文地址:https://www.cnblogs.com/laiyaling/p/11778253.html
Copyright © 2011-2022 走看看