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非常复杂,文档中还提供了其他很多相关的信息
  • 相关阅读:
    Retina屏的移动设备如何实现真正1px的线
    使用Karma、Mocha实现vue单元测试
    ios中非ARC项目中引用ARC文件
    ios中Pldatabase的用法(4)
    ios中Pldatabase的用法(3)
    ios中Pldatabase的用法(2)
    ios中修改数字键盘
    asyncsocket的用法
    ios中Pldatabase的用法
    ios中打包
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14201252.html
Copyright © 2011-2022 走看看