diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py index c6840c30b35..c9f8217b06b 100644 --- a/Lib/logging/handlers.py +++ b/Lib/logging/handlers.py @@ -1156,8 +1156,8 @@ class HTTPHandler(logging.Handler): h.putheader("Content-length", str(len(data))) if self.credentials: import base64 - s = ('u%s:%s' % self.credentials).encode('utf-8') - s = 'Basic ' + base64.b64encode(s).strip() + s = ('%s:%s' % self.credentials).encode('utf-8') + s = 'Basic ' + base64.b64encode(s).strip().decode('ascii') h.putheader('Authorization', s) h.endheaders() if self.method == "POST": diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index 95575bf56a6..84fd8b57c73 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1672,7 +1672,8 @@ class HTTPHandlerTest(BaseTest): secure_client = secure and sslctx self.h_hdlr = logging.handlers.HTTPHandler(host, '/frob', secure=secure_client, - context=context) + context=context, + credentials=('foo', 'bar')) self.log_data = None root_logger.addHandler(self.h_hdlr)