32 """Initialize global ``settings`` and ``searx_debug`` variables and
33 ``logger`` from ``SEARXNG_SETTINGS_PATH``.
36 global settings, searx_debug
40 apply_schema(cfg, SCHEMA, [])
45 searx_debug = settings[
'general'][
'debug']
49 logging.basicConfig(level=LOG_LEVEL_PROD, format=LOG_FORMAT_PROD)
50 logging.root.setLevel(level=LOG_LEVEL_PROD)
51 logging.getLogger(
'werkzeug').setLevel(level=LOG_LEVEL_PROD)
55 max_request_timeout = settings[
'outgoing'][
'max_request_timeout']
56 if max_request_timeout
is None:
57 logger.info(
'max_request_timeout=%s', repr(max_request_timeout))
59 logger.info(
'max_request_timeout=%i second(s)', max_request_timeout)
61 if settings[
'server'][
'public_instance']:
63 "Be aware you have activated features intended only for public instances. "
64 "This force the usage of the limiter and link_token / "
65 "see https://docs.searxng.org/admin/searx.limiter.html"
102 log_level = os.environ.get(
'SEARXNG_DEBUG_LOG_LEVEL',
'DEBUG')
105 'spam': {
'color':
'green',
'faint':
True},
107 'notice': {
'color':
'magenta'},
108 'success': {
'bold':
True,
'color':
'green'},
109 'info': {
'bold':
True,
'color':
'cyan'},
110 'warning': {
'color':
'yellow'},
111 'error': {
'color':
'red'},
112 'critical': {
'bold':
True,
'color':
'red'},
115 'asctime': {
'color':
'green'},
116 'hostname': {
'color':
'magenta'},
117 'levelname': {
'color': 8},
118 'name': {
'color': 8},
119 'programname': {
'color':
'cyan'},
120 'username': {
'color':
'yellow'},
122 coloredlogs.install(level=log_level, level_styles=level_styles, field_styles=field_styles, fmt=LOG_FORMAT_DEBUG)
124 logging.basicConfig(level=logging.getLevelName(log_level), format=LOG_FORMAT_DEBUG)