proxy-logging: Be able to configure log_route

This lets you have separate loggers for the left and right proxy-logging
middlewares, so you can have a config like

    [pipeline:main]
    pipeline = ... proxy-logging-client ... proxy-logging-subrequest proxy-server

    [proxy-logging-client]
    use = egg:swift#proxy_logging
    access_log_statsd_metric_prefix = client-facing

    [proxy-logging-subrequest]
    use = egg:swift#proxy_logging
    access_log_route = subrequest
    access_log_statsd_metric_prefix = subrequest

to isolate subrequest metrics from client-facing metrics.

Change-Id: If41e3d542b30747da7ca289708e9d24873c46e2e
This commit is contained in:
Tim Burke 2020-06-11 12:29:58 -07:00
parent 3c0a448f06
commit 2ffe598f48
2 changed files with 7 additions and 2 deletions

View File

@ -887,6 +887,10 @@ use = egg:swift#proxy_logging
# access_log_level = INFO
# access_log_address = /dev/log
#
# Log route for this filter. Useful if you want to have different configs for
# the two proxy-logging filters.
# access_log_route = proxy-server
#
# If set, access_log_udp_host will override access_log_address
# access_log_udp_host =
# access_log_udp_port = 514

View File

@ -129,8 +129,9 @@ class ProxyLoggingMiddleware(object):
value = conf.get('access_' + key, conf.get(key, None))
if value:
access_log_conf[key] = value
self.access_logger = logger or get_logger(access_log_conf,
log_route='proxy-access')
self.access_logger = logger or get_logger(
access_log_conf,
log_route=conf.get('access_log_route', 'proxy-access'))
self.access_logger.set_statsd_prefix('proxy-server')
self.reveal_sensitive_prefix = int(
conf.get('reveal_sensitive_prefix', 16))