python学习笔记8-日志和异常捕获

先记录一下,后面学习的时候再补充。
参考这篇文章:
(转):https://www.cnblogs.com/xianyulouie/p/11041777.html

一般在代码中都会有异常捕获和日志记录,两者互相配合。当然日志除了记录异常也可以记录执行情况,用途更多。

日志需要引用logging模块,日志信息有级别之分,如果设定了日志级别,则在该级别下的信息不会被记录,如下:

级别排序:CRITICAL > ERROR > WARNING > INFO > DEBUG

debug : 打印全部的日志,详细的信息,通常只出现在诊断问题上

info : 打印info,warning,error,critical级别的日志,确认一切按预期运行

warning : 打印warning,error,critical级别的日志,一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”),这个软件还能按预期工作

error : 打印error,critical级别的日志,更严重的问题,软件没能执行一些功能

critical : 打印critical级别,一个严重的错误,这表明程序本身可能无法继续运行

使用方式如下:
1.简单使用,直接在try except中使用,可以发现异常时记录。

import logging
#直接当print()使用,区别是logging一般是红色字体,且出现位置不定
logging.debug("测试打印")
#日志的基本设置,一般简单使用都不需要设
logging.basicConfig(level=logging.DEBUG, #设置日志级别
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s', #设置日志格式,依次是时间,文件名,问题行号,日志级别,具体信息
datefmt='%a, %d %b %Y %H:%M:%S',  #设置日期格式
filename='test.log',  #设置日志文件名
filemode='w')	#设置日志权限

#异常捕获
#try except else finally
#如果要更详细还可以引用  import traceback ,然后在except里加 print(traceback.format_exc())
#可以自由组合使用
try:					#第一步尝试
      print(0/0)
except Exception as e:	#第二步如果有异常尝试
      print('有错误 ',e)
      #print(traceback.format_exc())显示在代码行的错误
      logging.debug(e)#日志一般用在这里
except IOError as f:	#第二步分的细一些,还可以再自定错误类型再记录
      print('IO有错误 ',f)
else:					#第二步没有异常尝试
      print(1)
finally:				#第三步尝试
      print(2)

2.复杂一点使用,就是定义一个log文件,然后创建一个handle往里写日志。


import os.path
import time
import logging
# 创建一个logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)  # Log等级总开关

# 创建一个handler,用于写入日志文件
rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time()))
log_path = os.path.dirname(os.getcwd()) + '/Logs/'#获取当前目录的上级目录加/logs/
log_name = log_path + rq + '.log'
logfile = log_name
fh = logging.FileHandler(logfile, mode='w')#创建一个日志处理工具
fh.setLevel(logging.DEBUG)  # 输出到file的log等级的开关

# 定义handler的输出格式
formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s")
fh.setFormatter(formatter)
logger.addHandler(fh)
# 使用logger.XX来记录错误,这里的"error"可以根据所需要的级别进行修改
try:
    open('/path/to/does/not/exist', 'rb')
except (SystemExit, KeyboardInterrupt):
    raise
except Exception, e:
    logger.error('Failed to open file', exc_info=True)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《Python学习笔记》是由皮大庆编写的一本关于Python语言学习的教材。在这本书中,作者详细介绍了Python语言的基础知识、语法规则以及常用的编程技巧。 首先,作者简要介绍了Python语言的特点和优势。他提到,Python是一种易于学习和使用的编程语言,受到了广大程序员的喜爱。Python具有简洁、清晰的语法结构,使得代码可读性极高,同时也提供了丰富的库和模块,能够快速实现各种功能。 接着,作者详细讲解了Python的基本语法。他从变量、数据类型、运算符等基础知识开始,逐步介绍了条件语句、循环控制、函数、模块等高级概念。同时,作者通过大量的示例代码和实践案例,帮助读者加深对Python编程的理解和应用。 在书中,作者还特别强调了编写规范和良好的编程习惯。他从命名规范、注释风格、代码缩进等方面指导读者如何写出清晰、可读性强的Python代码。作者认为,良好的编程习惯对于提高代码质量和提高工作效率非常重要。 此外,作者还介绍了Python的常用库和模块。他提到了一些常用的库,如Numpy、Pandas、Matplotlib等。这些库在数据处理、科学计算、可视化等领域有广泛的应用,帮助读者更好地解决实际问题。 总的来说,《Python学习笔记》是一本非常实用和全面的Python学习教材。通过学习这本书,读者可以系统地学习和掌握Python编程的基础知识和高级应用技巧,为以后的编程学习和工作打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值