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 -*- # -*- coding: utf-8 -*-
from typing import TypeVar, Generic from typing import TypeVar, Generic
import abc, re, sys import abc, re, sys, os
from collections.abc import Iterable, Iterator from collections.abc import Iterable, Iterator
from .log import * from .log import *
@ -34,7 +34,13 @@ class Types(abc.ABC, Iterable[T], Generic[T]): # export
class LoadTypes(Types): # 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.__debug_level = debug_level
self.__type_name_filter = type_name_filter self.__type_name_filter = type_name_filter
self.__type_filter = type_filter self.__type_filter = type_filter