Update all .py source files by
$ pyupgrade --py3-only $(git ls-files | grep ".py$")
to modernize the code according to Python 3 syntaxes.
pep8 errors are fixed by
$ autopep8 --select=E127,E128,E501 --max-line-length 79 -r \
--in-place oslo_log
Also add the pyupgrade hook to pre-commit to avoid merging additional
Python 2 syntaxes.
Change-Id: Ia9f2760df0e272148fe173691029062b0d8b8fc5
52 lines
1.9 KiB
Python
52 lines
1.9 KiB
Python
# Copyright (c) 2016 OpenStack Foundation
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
"""Unit Tests for oslo.log with custom log handler"""
|
|
|
|
|
|
import logging
|
|
|
|
from oslo_log import log
|
|
|
|
from oslo_log.tests.unit.test_log import LogTestBase
|
|
|
|
|
|
class CustomLogHandler(logging.StreamHandler):
|
|
# Custom loghandler to mimick the error which was later fixed by
|
|
# https://github.com/openstack/oslo.privsep/commit/3c47348ced0d3ace1113ba8de8dff015792b0b89
|
|
|
|
def emit(self, record):
|
|
# Make args None; this was the error, which broke oslo_log formatting
|
|
record.args = None # This is intentionally wrong
|
|
|
|
super().emit(record)
|
|
|
|
|
|
class CustomLogHandlerTestCase(LogTestBase):
|
|
def setUp(self):
|
|
super().setUp()
|
|
self.config(logging_context_format_string="HAS CONTEXT "
|
|
"[%(request_id)s]: "
|
|
"%(message)s",
|
|
logging_default_format_string="NOCTXT: %(message)s",
|
|
logging_debug_format_suffix="--DBG")
|
|
self.log = log.getLogger('') # obtain root logger instead of 'unknown'
|
|
self._add_handler_with_cleanup(self.log, handler=CustomLogHandler)
|
|
self._set_log_level_with_cleanup(self.log, logging.DEBUG)
|
|
|
|
def test_log(self):
|
|
message = 'foo'
|
|
self.log.info(message)
|
|
self.assertEqual("NOCTXT: %s\n" % message, self.stream.getvalue())
|