Logger
模块:polygraphy.logger
- class LogMode(value)[source]
基类:
IntEnum
指定应如何记录消息。
- EACH = 0
每次都记录消息
- ONCE = 1
仅记录消息一次。同一消息不会再次记录。
- class Logger(severity=20, colors=True, letter=True, timestamp=False, line_info=False)[source]
基类:
object
全局日志记录接口。不要手动构造记录器。而是使用全局记录器
G_LOGGER
。- 参数:
severity (Union[int, Dict[str, int]]) – 严重性级别低于此级别的消息将被忽略。可以通过提供路径到日志严重性级别的字典来在每个子模块/文件基础上指定此项。在这种情况下,使用
""
来指示默认严重性级别。路径应相对于 polygraphy/ 目录。例如,polygraphy/backend 可以仅用 backend/ 指定。例如:{"": G_LOGGER.INFO, "backend/trt": G_LOGGER.VERBOSE}
这会在分配时转换为SeverityTrie
。默认为 G_LOGGER.INFO。colors (bool) – 是否使用彩色输出。默认为 True。
letter (bool) – 是否在每个日志消息前添加一个字母来指示其严重性。默认为 True。
timestamp (bool) – 是否在日志输出中包含时间戳。默认为 False。
line_info (bool) – 是否在日志输出中包含文件和行号信息。默认为 False。
- ULTRA_VERBOSE = -20
启用极度详细消息及更高级别
- SUPER_VERBOSE = -10
启用非常详细消息及更高级别
- EXTRA_VERBOSE = 0
启用额外详细消息及更高级别
- VERBOSE = 10
启用详细消息及更高级别
- INFO = 20
启用信息性消息及更高级别
- START = 22
启用指示任务何时开始的消息及更高级别
- FINISH = 28
启用指示任务何时完成的消息及更高级别
- WARNING = 30
仅启用警告消息及更高级别
- ERROR = 40
仅启用错误消息及更高级别
- CRITICAL = 50
仅启用严重/致命错误消息及更高级别
- property log_file
用于写入 Polygraphy 日志输出的日志文件路径。这不包括来自 Polygraphy 使用的库(如 TensorRT 或 ONNX-Runtime)的日志消息。
- property module_severity
严重性级别低于此级别的消息将被忽略。可以通过提供路径到日志严重性级别的字典来在每个子模块/文件基础上指定此项。在这种情况下,使用
""
来指示默认严重性级别。路径应相对于 polygraphy/ 目录。例如,polygraphy/backend 可以仅用 backend/ 指定。例如:{"": G_LOGGER.INFO, "backend/trt": G_LOGGER.VERBOSE}
这会在分配时转换为SeverityTrie
。默认为 G_LOGGER.INFO。
- module_path(path)[source]
将给定路径转换为相对于 Polygraphy 根模块的路径。如果路径不是 Polygraphy 模块的一部分,则返回相对于公共前缀的路径。
- 参数:
path (str) – 路径
- 返回:
相对于 Polygraphy 根模块或公共前缀的路径。
- 返回类型:
str
- register_callback(callback)[source]
向记录器注册一个回调,当日志记录严重性级别被修改时将调用该回调。回调保证在 register_callback 函数中至少被调用一次。
- 参数:
callback (Callable(SeverityTrie)) – 接受当前记录器严重性 trie 的回调。
- verbosity(severity=50)[source]
返回一个上下文管理器,该管理器在其持续时间内临时更改记录器的严重性级别。
- 参数:
severity (Union[int, Dict[str, int]]) – 严重性级别低于此级别的消息将被忽略。可以通过提供路径到日志严重性级别的字典来在每个子模块/文件基础上指定此项。在这种情况下,使用
""
来指示默认严重性级别。例如:{"": G_LOGGER.INFO, "backend/trt": G_LOGGER.VERBOSE}
默认为 Logger.CRITICAL,这将抑制所有消息。
- log(message, severity, mode=LogMode.EACH, stack_depth=2, error_ok=False)[source]
将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
severity (int) – 记录此消息的严重性级别。如果严重性级别低于记录器的当前严重性级别,则消息将被抑制。在这种情况下,不会调用提供的可调用对象。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
stack_depth (int) – 用于确定文件和行信息的堆栈深度。默认为 2。
error_ok (bool) – 是否抑制记录时遇到的错误。当此值为 True 时,如果发生错误,则不会记录消息,但记录器将恢复并继续执行。当为 False 时,记录器将重新引发异常。
- ultra_verbose(message, mode=LogMode.EACH)[source]
使用 ULTRA_VERBOSE 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- super_verbose(message, mode=LogMode.EACH)[source]
使用 SUPER_VERBOSE 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- extra_verbose(message, mode=LogMode.EACH)[source]
使用 EXTRA_VERBOSE 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- verbose(message, mode=LogMode.EACH)[source]
使用 VERBOSE 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- info(message, mode=LogMode.EACH)[source]
使用 INFO 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- start(message, mode=LogMode.EACH)[source]
使用 START 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- finish(message, mode=LogMode.EACH)[source]
使用 FINISH 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- warning(message, mode=LogMode.EACH)[source]
使用 WARNING 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- error(message, mode=LogMode.EACH)[source]
使用 ERROR 严重性级别将消息记录到 stdout。
- 参数:
message (Union[str, Callable() -> str]) – 字符串或可调用对象,返回要记录的消息字符串。
mode (LogMode) – 控制消息的记录方式。有关详细信息,请参阅 LogMode。
- G_LOGGER = <polygraphy.logger.logger.Logger object>
全局记录器。使用此记录器代替构造记录器