33 """Initialize global ``settings`` and ``sxng_debug`` variables and
34 ``logger`` from ``SEARXNG_SETTINGS_PATH``.
38 from searx
import settings_loader
41 global settings, sxng_debug
43 cfg, msg = settings_loader.load_settings(load_user_settings=
True)
45 apply_schema(cfg, SCHEMA, [])
54 logging.basicConfig(level=LOG_LEVEL_PROD, format=LOG_FORMAT_PROD)
55 logging.root.setLevel(level=LOG_LEVEL_PROD)
56 logging.getLogger(
'werkzeug').setLevel(level=LOG_LEVEL_PROD)
60 max_request_timeout: int |
None = settings[
'outgoing'][
'max_request_timeout']
61 if max_request_timeout
is None:
62 logger.info(
'max_request_timeout=%s', repr(max_request_timeout))
64 logger.info(
'max_request_timeout=%i second(s)', max_request_timeout)
66 if settings[
'server'][
'public_instance']:
68 "Be aware you have activated features intended only for public instances. "
69 "This force the usage of the limiter and link_token / "
70 "see https://docs.searxng.org/admin/searx.limiter.html"
107 log_level = os.environ.get(
'SEARXNG_DEBUG_LOG_LEVEL',
'DEBUG')
110 'spam': {
'color':
'green',
'faint':
True},
112 'notice': {
'color':
'magenta'},
113 'success': {
'bold':
True,
'color':
'green'},
114 'info': {
'bold':
True,
'color':
'cyan'},
115 'warning': {
'color':
'yellow'},
116 'error': {
'color':
'red'},
117 'critical': {
'bold':
True,
'color':
'red'},
120 'asctime': {
'color':
'green'},
121 'hostname': {
'color':
'magenta'},
122 'levelname': {
'color': 8},
123 'name': {
'color': 8},
124 'programname': {
'color':
'cyan'},
125 'username': {
'color':
'yellow'},
129 level_styles=level_styles,
130 field_styles=field_styles,
131 fmt=LOG_FORMAT_DEBUG,
134 logging.basicConfig(level=getattr(logging, log_level,
"ERROR"), format=LOG_FORMAT_DEBUG)