跳转到主要内容

为有需求的应用程序提供度量值捕获的标准日志。

项目描述

STScI度量值日志记录器

CI Powered by STScI Badge codecov

度量值日志记录器是一个简单的装饰器,旨在为带有标记的pytest方法提供标准化的日志记录,以识别相关的构建需求。由于这是一个通用工具,任何方法都可以被装饰,并且可以提供任何类型的标记。

日志消息将遵循以下格式提供

  • METRIC - 一个静态标记,用于标记消息的开始。
  • 标记 - 逗号分隔的标记列表,提供给装饰器的标记。
  • 方法 - 装饰的方法名称。
  • 结果 - 如果方法引发异常,则为FAIL,否则为PASS。

以上将用空格连字符分隔: -

注意
提供的标记中的连字符受支持。

安装

metrics_logger实用工具目前不在PyPi中可用。要将其包含在Conda环境中,您可以在conda环境文件的pip部分直接引用它,如下所示

dependencies:
  - pip
  - pip:
    metrics_logger https://github.com/spacetelescope/romancal.git

开发

metrics_logger的开发可以使用Conda完成。

创建并激活环境

$ conda env create --file conda-env.yml
$ conda activate metrics-logger

更新需求

$ conda activate metrics-logger
$ conda env update --file conda-env.yml

用法

导入metrics_logger实用工具,并在要注释的方法上方插入它,提供标记作为参数的列表。每次调用该方法时,都会向名为"metrics_logger"的日志记录器发出一条日志行。

示例

from metrics_logger.decorators import metrics_logger

@metrics_logger('DMS86', 'DMS-129')
def test_some_functional_thing():
    assert True

将生成以下日志行(取决于日志格式)

2023-06-14 16:09:28,947 - stpipe - INFO - DMS86, DMS129 - test_some_functional_thing - PASS

类似地

@metrics_logger('DMS86', 'DMS-129')
def test_some_functional_thing():
    raise Exception("Oops!")

将生成

2023-06-14 16:10:09,221 - stpipe - INFO - DMS86, DMS129 - test_some_functional_thing - FAIL

由以下支持