【问题标题】:How to use logging library? (Implement logging in Python)如何使用日志库? (在 Python 中实现日志记录)
【发布时间】:2014-11-28 11:43:53
【问题描述】:

我想在一个类中应用logging 库以从我的代码中的不同步骤获取报告,并使用info、debug 或error 函数并将其保存在日志文件中。此外,我还想在我的代码中使用multiprocessing。但我不太清楚它是如何工作的,应该如何设置,另外我已经在代码中使用它并将其定义如下

import logging 

logging.basicConfig(filename='logfile.log',level=logging.DEBUG)

它停止了代码并阻止终止进程。我想知道它应该如何在课堂上使用并停止并关闭日志文件?!! 任何帮助将不胜感激...

【问题讨论】:

    标签: python logging error-handling multiprocessing


    【解决方案1】:

    您可以通过Good logging practice in python 了解更多有关日志记录模块的信息,并从Python document 获得更多详细信息。

    下面是一个关于如何使用日志模块的基本示例,我在其中故意提出了一个异常:

    import logging
    log = logging.getLogger("mylog")
    log.setLevel(logging.DEBUG)
    
    formatter = logging.Formatter(
        "%(asctime)s %(threadName)-11s %(levelname)-10s %(message)s")
    # Alternative formatting available on python 3.2+:
    # formatter = logging.Formatter(
    #     "{asctime} {threadName:>11} {levelname} {message}", style='{')
    
    # Log to file
    filehandler = logging.FileHandler("debug.txt", "w")
    filehandler.setLevel(logging.DEBUG)
    filehandler.setFormatter(formatter)
    log.addHandler(filehandler)
    
    # Log to stdout too
    streamhandler = logging.StreamHandler()
    streamhandler.setLevel(logging.INFO)
    streamhandler.setFormatter(formatter)
    log.addHandler(streamhandler)
    
    # Test it
    log.debug("Some message")
    log.error("An error!")
    try:
        something()
    except:
        log.exception("An exception occured!")
    

    在您的debug.txt 中,您将获得如下输出:

    2011-01-18 12:07:24,943  MainThread  DEBUG      Some message
    2011-01-18 12:07:24,943  MainThread  ERROR      An error!
    2011-01-18 12:07:24,943  MainThread  ERROR      An exception occured!
    Traceback (most recent call last):
      File "./logtest.py", line 17, in 
        something()
    NameError: name 'something' is not defined
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 2020-12-07
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 2019-08-11
      • 1970-01-01
      相关资源
      最近更新 更多