lib.Types.LoadTypes: Support JW_LOG_LEVEL_LOAD_TYPES

Allow to configure logging of LoadTypes' decisions whether or not a
class is elegible for loading. Currently, the respective log level is
"off", allow to set it via JW_LOG_LEVEL_LOAD_TYPES in the
environment.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-04-17 12:33:02 +02:00
commit 193b8242d7

View file

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from typing import TypeVar, Generic
import abc, re, sys
import abc, re, sys, os
from collections.abc import Iterable, Iterator
from .log import *
@ -34,7 +34,13 @@ class Types(abc.ABC, Iterable[T], Generic[T]): # export
class LoadTypes(Types): # export
def __init__(self, mod_names: list[str], type_name_filter: str=None, type_filter: list[T]=[], debug_level=OFF):
def __init__(self, mod_names: list[str], type_name_filter: str=None, type_filter: list[T]=[], debug_level=None):
if debug_level is None:
val = os.getenv('JW_LOG_LEVEL_LOAD_TYPES')
if val is not None:
debug_level = parse_log_level(val)
else:
debug_level = OFF
self.__debug_level = debug_level
self.__type_name_filter = type_name_filter
self.__type_filter = type_filter