Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么不是';没有一个成功的级别吗?_Python_Logging - Fatal编程技术网

Python 为什么不是';没有一个成功的级别吗?

Python 为什么不是';没有一个成功的级别吗?,python,logging,Python,Logging,具有数值,通过这些数值,日志条目被分配一个重要顺序。一些常用的级别也被指定为人类可读的名称 水平仪 数值 批评的 50 错误 40 警告 30 信息 20 调试 10 NOTSET 0 日志记录内置模块动机在中进行了描述,在列举它们之后,其中提到: 尽管强烈建议采用上述水平,但测井系统不应是规定性的。用户可以定义自己的级别,以及任何级别的文本表示。但是,用户定义的级别必须遵守以下约束条件:它们都是正整数,并且按照严重程度的增加顺序增加。通过两个模块级功能支持用户定义的日志记录级别: 因此,我建议

具有数值,通过这些数值,日志条目被分配一个重要顺序。一些常用的级别也被指定为人类可读的名称

水平仪 数值 批评的 50 错误 40 警告 30 信息 20 调试 10 NOTSET 0
日志记录
内置模块动机在中进行了描述,在列举它们之后,其中提到:

尽管强烈建议采用上述水平,但测井系统不应是规定性的。用户可以定义自己的级别,以及任何级别的文本表示。但是,用户定义的级别必须遵守以下约束条件:它们都是正整数,并且按照严重程度的增加顺序增加。通过两个模块级功能支持用户定义的日志记录级别:


因此,我建议首先仔细考虑是否已经使用了已定义的一个。如果不能,则使用
logging.addLevelName
函数来创建自定义级别。

logging
内置模块动机在中进行了描述,在列举这些模块后,关于这些模块的说明如下:

尽管强烈建议采用上述水平,但测井系统不应是规定性的。用户可以定义自己的级别,以及任何级别的文本表示。但是,用户定义的级别必须遵守以下约束条件:它们都是正整数,并且按照严重程度的增加顺序增加。通过两个模块级功能支持用户定义的日志记录级别:


因此,我建议首先仔细考虑是否已经使用了已定义的一个。如果它不能使用
logging.addLevelName
函数来创建自定义级别。

我相信它会采取一种很好的方式来假设事情会正常工作,在这种情况下
info
就足以记录成功事件。这个:表示信息对应于“确认事情按预期工作”。我想,表示成功。
logging.success
基本上与
logging.INFO
IMO相同。我不会说日志级别映射到错误严重性。只有一半是这样,但另一半只是简单地描述了信息的重要性(“调试”将是一个奇怪的错误严重性)。对于前三个“信息有多重要”简单地映射到“错误严重性”上。我正在考虑一个长时间运行的流程,在这个流程中,知道任务标识符x已成功完成比知道子流程y有一个小的可恢复错误更有价值。因此,在这种情况下,
SUCCESS
比单纯的
警告
具有更高的优先级。我相信它采取了一条快乐的道路,假设事情会成功,在这种情况下,
info
就足以记录成功事件。这个:表示信息对应于“确认事情按照预期工作”。我猜,表示成功。
logging.success
基本上与
logging.INFO
IMO相同。我不会说日志级别映射到错误严重性。只有一半是这样,但另一半只是简单地描述了信息的重要性(“调试”将是一个奇怪的错误严重性)。对于前三个“信息有多重要”简单地映射到“错误严重性”上。我正在考虑一个长时间运行的流程,在这个流程中,知道任务标识符x已成功完成比知道子流程y有一个小的可恢复错误更有价值。因此,在这种情况下,
成功
的优先级高于单纯的
警告
def getLevelName(lvl):
        """Return the text for level 'lvl'."""
        ...

def addLevelName(lvl, lvlName):
        """
        Add the level 'lvl' with associated text 'levelName', or
        set the textual representation of existing level 'lvl' to be
        'lvlName'."""
        ...