mirror of
https://github.com/ansible/awx.git
synced 2026-03-22 11:25:08 -02:30
Manage null default state for logging integration and DB definition
This commit is contained in:
@@ -15,5 +15,8 @@ class ConfConfig(AppConfig):
|
|||||||
self.module.autodiscover()
|
self.module.autodiscover()
|
||||||
from .settings import SettingsWrapper
|
from .settings import SettingsWrapper
|
||||||
SettingsWrapper.initialize()
|
SettingsWrapper.initialize()
|
||||||
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
|
if settings.LOG_AGGREGATOR_ENABLED:
|
||||||
|
LOGGING = settings.LOGGING
|
||||||
|
LOGGING['handlers']['http_receiver']['class'] = 'awx.main.utils.handlers.HTTPSHandler'
|
||||||
|
configure_logging(settings.LOGGING_CONFIG, LOGGING)
|
||||||
# checks.register(SettingsWrapper._check_settings)
|
# checks.register(SettingsWrapper._check_settings)
|
||||||
|
|||||||
@@ -296,3 +296,12 @@ register(
|
|||||||
category=_('Logging'),
|
category=_('Logging'),
|
||||||
category_slug='logging',
|
category_slug='logging',
|
||||||
)
|
)
|
||||||
|
register(
|
||||||
|
'LOG_AGGREGATOR_ENABLED',
|
||||||
|
field_class=fields.BooleanField,
|
||||||
|
default=False,
|
||||||
|
label=_('Flag denoting whether to use the external logger system'),
|
||||||
|
help_text=_('If not set, only normal settings data will be used to configure loggers.'),
|
||||||
|
category=_('Logging'),
|
||||||
|
category_slug='logging',
|
||||||
|
)
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ from socketio import socketio_manage
|
|||||||
from socketio.server import SocketIOServer
|
from socketio.server import SocketIOServer
|
||||||
from socketio.namespace import BaseNamespace
|
from socketio.namespace import BaseNamespace
|
||||||
|
|
||||||
logger = logging.getLogger('awx.main.consumers')
|
logger = logging.getLogger('awx.main.commands.run_socketio_service')
|
||||||
|
|
||||||
|
|
||||||
class SocketSession(object):
|
class SocketSession(object):
|
||||||
|
|||||||
@@ -92,7 +92,12 @@ def clear_cache_keys(cache_keys):
|
|||||||
cache.delete_many(set_of_keys)
|
cache.delete_many(set_of_keys)
|
||||||
for setting_key in set_of_keys:
|
for setting_key in set_of_keys:
|
||||||
if setting_key.startswith('LOG_AGGREGATOR_'):
|
if setting_key.startswith('LOG_AGGREGATOR_'):
|
||||||
configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
|
LOGGING = settings.LOGGING
|
||||||
|
if settings.LOG_AGGREGATOR_ENABLED:
|
||||||
|
LOGGING['handlers']['http_receiver']['class'] = 'awx.main.utils.handlers.HTTPSHandler'
|
||||||
|
else:
|
||||||
|
LOGGING['handlers']['http_receiver']['class'] = 'awx.main.utils.handlers.HTTPSNullHandler'
|
||||||
|
configure_logging(settings.LOGGING_CONFIG, LOGGING)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ from requests_futures.sessions import FuturesSession
|
|||||||
|
|
||||||
# custom
|
# custom
|
||||||
from django.conf import settings as django_settings
|
from django.conf import settings as django_settings
|
||||||
|
from django.utils.log import NullHandler
|
||||||
|
|
||||||
# AWX external logging handler, generally designed to be used
|
# AWX external logging handler, generally designed to be used
|
||||||
# with the accompanying LogstashHandler, derives from python-logstash library
|
# with the accompanying LogstashHandler, derives from python-logstash library
|
||||||
@@ -36,6 +37,13 @@ def unused_callback(sess, resp):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class HTTPSNullHandler(NullHandler):
|
||||||
|
"Placeholder null handler to allow loading without database access"
|
||||||
|
|
||||||
|
def __init__(self, host, **kwargs):
|
||||||
|
return super(HTTPSNullHandler, self).__init__()
|
||||||
|
|
||||||
|
|
||||||
class HTTPSHandler(logging.Handler):
|
class HTTPSHandler(logging.Handler):
|
||||||
def __init__(self, fqdn=False, **kwargs):
|
def __init__(self, fqdn=False, **kwargs):
|
||||||
super(HTTPSHandler, self).__init__()
|
super(HTTPSHandler, self).__init__()
|
||||||
|
|||||||
@@ -825,6 +825,8 @@ TOWER_URL_BASE = "https://towerhost"
|
|||||||
|
|
||||||
TOWER_SETTINGS_MANIFEST = {}
|
TOWER_SETTINGS_MANIFEST = {}
|
||||||
|
|
||||||
|
LOG_AGGREGATOR_ENABLED = False
|
||||||
|
|
||||||
# Logging configuration.
|
# Logging configuration.
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
'version': 1,
|
'version': 1,
|
||||||
@@ -869,7 +871,7 @@ LOGGING = {
|
|||||||
'formatter': 'simple',
|
'formatter': 'simple',
|
||||||
},
|
},
|
||||||
'http_receiver': {
|
'http_receiver': {
|
||||||
'class': 'awx.main.utils.handlers.HTTPSHandler',
|
'class': 'awx.main.utils.handlers.HTTPSNullHandler',
|
||||||
'level': 'INFO',
|
'level': 'INFO',
|
||||||
'formatter': 'json',
|
'formatter': 'json',
|
||||||
'host': '',
|
'host': '',
|
||||||
|
|||||||
Reference in New Issue
Block a user