Follow-up to patch 282363
* Improve some formatting * Be more explicit about how much will be revealed when * Rename redact_sensitive_tokens to redact_sensitive_headers, as it affects more than tokens. Change-Id: I02b375d914e9f0a210d038ecb31188d09a8ffce3
This commit is contained in:
parent
4d44dcf360
commit
c3f0641704
@ -72,13 +72,18 @@ if StrictVersion(requests.__version__) < StrictVersion('2.0.0'):
|
||||
logger = logging.getLogger("swiftclient")
|
||||
logger.addHandler(NullHandler())
|
||||
|
||||
#: Default behaviour is to redact tokens, showing only the initial 16 chars.
|
||||
#: To disable, set the value of 'redact_sensitive_tokens' to False.
|
||||
#: When token redaction is enabled 'reveal_sensitive_prefix' configures the
|
||||
#: maximum length of any sensitive token data sent to the logs (if the token
|
||||
#: is less than 32 chars long then int(len(token)/2) chars will be logged,
|
||||
#: Default behaviour is to redact header values known to contain secrets,
|
||||
#: such as ``X-Auth-Key`` and ``X-Auth-Token``. Up to the first 16 chars
|
||||
#: may be revealed.
|
||||
#:
|
||||
#: To disable, set the value of ``redact_sensitive_headers`` to ``False``.
|
||||
#:
|
||||
#: When header redaction is enabled, ``reveal_sensitive_prefix`` configures the
|
||||
#: maximum length of any sensitive header data sent to the logs. If the header
|
||||
#: is less than twice this length, only ``int(len(value)/2)`` chars will be
|
||||
#: logged; if it is less than 15 chars long, even less will be logged.
|
||||
logger_settings = {
|
||||
'redact_sensitive_tokens': True,
|
||||
'redact_sensitive_headers': True,
|
||||
'reveal_sensitive_prefix': 16
|
||||
}
|
||||
#: A list of sensitive headers to redact in logs. Note that when extending this
|
||||
@ -124,7 +129,7 @@ def scrub_headers(headers):
|
||||
(parse_header_string(key), parse_header_string(val))
|
||||
for (key, val) in headers
|
||||
]
|
||||
if not logger_settings.get('redact_sensitive_tokens', True):
|
||||
if not logger_settings.get('redact_sensitive_headers', True):
|
||||
return dict(headers)
|
||||
if logger_settings.get('reveal_sensitive_prefix', 16) < 0:
|
||||
logger_settings['reveal_sensitive_prefix'] = 16
|
||||
|
@ -1108,7 +1108,7 @@ def parse_args(parser, args, enforce_requires=True):
|
||||
if options.debug:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
logging.getLogger('iso8601').setLevel(logging.WARNING)
|
||||
client_logger_settings['redact_sensitive_tokens'] = False
|
||||
client_logger_settings['redact_sensitive_headers'] = False
|
||||
elif options.info:
|
||||
logging.basicConfig(level=logging.INFO)
|
||||
|
||||
|
@ -2233,7 +2233,7 @@ class TestLogging(MockHttpTest):
|
||||
unicode_token_value = (u'\u5929\u7a7a\u4e2d\u7684\u4e4c\u4e91'
|
||||
u'\u5929\u7a7a\u4e2d\u7684\u4e4c\u4e91'
|
||||
u'\u5929\u7a7a\u4e2d\u7684\u4e4c')
|
||||
c.logger_settings['redact_sensitive_tokens'] = False
|
||||
c.logger_settings['redact_sensitive_headers'] = False
|
||||
c.http_log(
|
||||
['GET'],
|
||||
{'headers': {
|
||||
|
Loading…
x
Reference in New Issue
Block a user