Browse Source

Merge pull request #34 from searxng/error_recorder_relative_filename

[mod] searx.metrics.error_recorder: store relative file name instead of the full absolute file name.
Markus Heiser 4 years ago
parent
commit
4afe5a8075
2 changed files with 4 additions and 1 deletions
  1. 1 0
      searx/__init__.py
  2. 3 1
      searx/metrics/error_recorder.py

+ 1 - 0
searx/__init__.py

@@ -22,6 +22,7 @@ from os.path import realpath, dirname, join, abspath, isfile
 
 
 searx_dir = abspath(dirname(__file__))
+searx_parent_dir = abspath(dirname(dirname(__file__)))
 engine_dir = dirname(realpath(__file__))
 static_path = abspath(join(dirname(__file__), 'static'))
 settings, settings_load_message = searx.settings_loader.load_settings()

+ 3 - 1
searx/metrics/error_recorder.py

@@ -5,7 +5,7 @@ from urllib.parse import urlparse
 from httpx import HTTPError, HTTPStatusError
 from searx.exceptions import (SearxXPathSyntaxException, SearxEngineXPathException, SearxEngineAPIException,
                               SearxEngineAccessDeniedException)
-from searx import logger
+from searx import logger, searx_parent_dir
 
 
 errors_per_engines = {}
@@ -117,6 +117,8 @@ def get_exception_classname(exc: Exception) -> str:
 def get_error_context(framerecords, exception_classname, log_message, log_parameters, secondary) -> ErrorContext:
     searx_frame = get_trace(framerecords)
     filename = searx_frame.filename
+    if filename.startswith(searx_parent_dir):
+        filename = filename[len(searx_parent_dir) + 1:]
     function = searx_frame.function
     line_no = searx_frame.lineno
     code = searx_frame.code_context[0].strip()