mirror of https://github.com/searxng/searxng.git
[feat] logs: Settings option to set custom level
This commit is contained in:
parent
d1a3fc5be6
commit
3c91f44cc6
|
@ -5,6 +5,7 @@
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
from os.path import dirname, abspath
|
from os.path import dirname, abspath
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
@ -12,14 +13,6 @@ import searx.unixthreadname
|
||||||
import searx.settings_loader
|
import searx.settings_loader
|
||||||
from searx.settings_defaults import settings_set_defaults
|
from searx.settings_defaults import settings_set_defaults
|
||||||
|
|
||||||
|
|
||||||
# Debug
|
|
||||||
LOG_FORMAT_DEBUG = '%(levelname)-7s %(name)-30.30s: %(message)s'
|
|
||||||
|
|
||||||
# Production
|
|
||||||
LOG_FORMAT_PROD = '%(asctime)-15s %(levelname)s:%(name)s: %(message)s'
|
|
||||||
LOG_LEVEL_PROD = logging.WARNING
|
|
||||||
|
|
||||||
searx_dir = abspath(dirname(__file__))
|
searx_dir = abspath(dirname(__file__))
|
||||||
searx_parent_dir = abspath(dirname(dirname(__file__)))
|
searx_parent_dir = abspath(dirname(dirname(__file__)))
|
||||||
settings, settings_load_message = searx.settings_loader.load_settings()
|
settings, settings_load_message = searx.settings_loader.load_settings()
|
||||||
|
@ -27,6 +20,31 @@ settings, settings_load_message = searx.settings_loader.load_settings()
|
||||||
if settings is not None:
|
if settings is not None:
|
||||||
settings = settings_set_defaults(settings)
|
settings = settings_set_defaults(settings)
|
||||||
|
|
||||||
|
|
||||||
|
class ValidLogLevels(str, Enum):
|
||||||
|
"""Log levels for the application, levels should match ones from the logging
|
||||||
|
module.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
INFO = logging.INFO
|
||||||
|
WARN = logging.WARN
|
||||||
|
WARNING = logging.WARNING
|
||||||
|
ERROR = logging.ERROR
|
||||||
|
|
||||||
|
|
||||||
|
# Debug
|
||||||
|
LOG_FORMAT_DEBUG = '%(levelname)-7s %(name)-30.30s: %(message)s'
|
||||||
|
|
||||||
|
# Production
|
||||||
|
LOG_FORMAT_PROD = '%(asctime)-15s %(levelname)s:%(name)s: %(message)s'
|
||||||
|
|
||||||
|
searx_loglevel = settings['general']['log_level']
|
||||||
|
if searx_loglevel.upper() in ValidLogLevels._member_names_:
|
||||||
|
LOG_LEVEL_PROD = ValidLogLevels[searx_loglevel.upper()].name
|
||||||
|
else:
|
||||||
|
LOG_LEVEL_PROD = logging.WARNING
|
||||||
|
|
||||||
_unset = object()
|
_unset = object()
|
||||||
|
|
||||||
|
|
||||||
|
@ -96,6 +114,7 @@ else:
|
||||||
logging.root.setLevel(level=LOG_LEVEL_PROD)
|
logging.root.setLevel(level=LOG_LEVEL_PROD)
|
||||||
logging.getLogger('werkzeug').setLevel(level=LOG_LEVEL_PROD)
|
logging.getLogger('werkzeug').setLevel(level=LOG_LEVEL_PROD)
|
||||||
logger = logging.getLogger('searx')
|
logger = logging.getLogger('searx')
|
||||||
|
logger.setLevel(level=LOG_LEVEL_PROD)
|
||||||
logger.info(settings_load_message)
|
logger.info(settings_load_message)
|
||||||
|
|
||||||
# log max_request_timeout
|
# log max_request_timeout
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
general:
|
general:
|
||||||
# Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
|
# Debug mode, only for development. Is overwritten by ${SEARXNG_DEBUG}
|
||||||
debug: false
|
debug: false
|
||||||
|
# Application log level - leave blank to use the default 'WARNING' level
|
||||||
|
log_level: "warning"
|
||||||
# displayed name
|
# displayed name
|
||||||
instance_name: "SearXNG"
|
instance_name: "SearXNG"
|
||||||
# For example: https://example.com/privacy
|
# For example: https://example.com/privacy
|
||||||
|
|
|
@ -139,6 +139,7 @@ def apply_schema(settings, schema, path_list):
|
||||||
SCHEMA = {
|
SCHEMA = {
|
||||||
'general': {
|
'general': {
|
||||||
'debug': SettingsValue(bool, False, 'SEARXNG_DEBUG'),
|
'debug': SettingsValue(bool, False, 'SEARXNG_DEBUG'),
|
||||||
|
'log_level': SettingsValue(str, 'warning'),
|
||||||
'instance_name': SettingsValue(str, 'SearXNG'),
|
'instance_name': SettingsValue(str, 'SearXNG'),
|
||||||
'privacypolicy_url': SettingsValue((None, False, str), None),
|
'privacypolicy_url': SettingsValue((None, False, str), None),
|
||||||
'contact_url': SettingsValue((None, False, str), None),
|
'contact_url': SettingsValue((None, False, str), None),
|
||||||
|
|
Loading…
Reference in New Issue