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非常复杂,文档中还提供了其他很多相关的信息
  • 相关阅读:
    poj 1088 滑雪
    位运算与bitset
    hdu 4607 Park Visit
    树的直径
    codeforces 495D Sonya and Matrix
    German Collegiate Programming Contest 2015(第三场)
    BAPC 2014 Preliminary(第一场)
    Benelux Algorithm Programming Contest 2014 Final(第二场)
    E. Reachability from the Capital(tarjan+dfs)
    poj2104 K-th Number(划分树)
  • 原文地址:https://www.cnblogs.com/azxsdcv/p/14201252.html
Copyright © 2011-2022 走看看