summaryrefslogtreecommitdiff
path: root/searx
diff options
context:
space:
mode:
authorMarkus Heiser <markus.heiser@darmarIT.de>2021-09-13 07:03:37 +0000
committerGitHub <noreply@github.com>2021-09-13 07:03:37 +0000
commit97acedd9fe4f83848a4c49e222d4cad118fcd295 (patch)
tree000de06af3a9a85ec7130106b8a50bbc6c4a0a8c /searx
parentc3473480f4255a81d83ac48201e0702778398d23 (diff)
parentf8793fbda031928222613c3080ec65584d860984 (diff)
Merge pull request #305 from dalf/fix-engine-logger
[fix] logger per engine: make .logger is always initialized
Diffstat (limited to 'searx')
-rw-r--r--searx/engines/__init__.py18
-rw-r--r--searx/engines/openstreetmap.py5
2 files changed, 17 insertions, 6 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():
diff --git a/searx/engines/openstreetmap.py b/searx/engines/openstreetmap.py
index 78c15320a..9f1fe94c9 100644
--- a/searx/engines/openstreetmap.py
+++ b/searx/engines/openstreetmap.py
@@ -438,8 +438,3 @@ def get_key_label(key_name, lang):
if labels is None:
return None
return get_label(labels, lang)
-
-
-def init(_):
- import searx.engines.wikidata # pylint: disable=import-outside-toplevel
- searx.engines.wikidata.logger = logger