diff options
Diffstat (limited to 'searx/engines/__init__.py')
| -rw-r--r-- | searx/engines/__init__.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/searx/engines/__init__.py b/searx/engines/__init__.py index 154cd605f..e0b5796e4 100644 --- a/searx/engines/__init__.py +++ b/searx/engines/__init__.py @@ -110,10 +110,26 @@ def load_engine(engine_data): if is_missing_required_attributes(engine): return None - engine.logger = logger.getChild(engine_name) + set_loggers(engine, engine_name) + return engine +def set_loggers(engine, engine_name): + # set the logger for engine + engine.logger = logger.getChild(engine_name) + # the engine may have load some other engines + # may sure the logger is initialized + for module_name, module in sys.modules.items(): + if ( + module_name.startswith("searx.engines") + and module_name != "searx.engines.__init__" + and not hasattr(module, "logger") + ): + module_engine_name = module_name.split(".")[-1] + module.logger = logger.getChild(module_engine_name) + + def update_engine_attributes(engine, engine_data): # set engine attributes from engine_data for param_name, param_value in engine_data.items(): |