zoukankan      html  css  js  c++  java
  • 20201228-1 一个使用模块logging的程序

    import logging 
    logging.basicConfig(level=logging.INFO, filename='mylog.log') 
    logging.info('Starting program') 
    logging.info('Trying to divide 1 by 0') 
    print(1/0) 
    logging.info('The division succeeded') 
    logging.info('Ending program')
    
    运行这个程序时,将生成下面的日志文件(mylog.log): 
    INFO:root:Starting program 
    INFO:root:Trying to divide 1 by 0 
    
    如你所见,试图将1除以0后什么都没有记录下来,因为这种错误将导致程序终止。 这是一种简单的错误,你可根据程序崩溃时打印的异常来跟踪确定问题出在什么地方。
    不会导致程序终止、而只是让它行为异常的bug是难查找的, 但通过查看详尽的日志文件也许能够帮助你找出问题 出在什么地方。
    这个示例中的日志文件并不是很详细,但通过合理地配置模块logging,可让日志以你希望 的方式运行。下面是几个这样的示例。  记录不同类型的条目(信息、调试信息、警告、自定义类型等)。
    默认情况下,只记录警告。(这就是在代码清单中显式地将level设置为logging.INFO的原因所在。)  只记录与程序特定部分相关的条目。  记录有关时间、日期等方面的信息。  记录到其他位置,如套接字。  配置日志器,将一些或大部分日志过滤掉,这样无需重写程序就能获得所需的日志信息。模块logging非常复杂,文档中还提供了其他很多相关的信息
  • 相关阅读:
    计算机网络复习(二) 应用层
    JavaScript实战笔记(二) 数组去重
    计算机网络复习(一) 基本介绍
    计算机网络复习
    Git学习笔记(一) 常用命令
    Git学习笔记
    Python实战笔记(三) 多线程
    Python实战笔记(二) 网络编程
    Python学习笔记
    XBox360自制系统的更新(Update)
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14201252.html
Copyright © 2011-2022 走看看