def test_skip_log_prefix_with_nested_func(self, mock_skip_register): nested_input = self._log_nested_outer() retval = logging.skip_log_prefix(nested_input) mock_skip_register.assert_called_once_with(__file__, '_log_nested_inner', mock.ANY) self.assertEqual(retval, nested_input)
def test_skip_log_prefix_with_bad_input(self, mock_skip_register): dict_input = {1: 2, 2: 3} with self.assertRaises(TypeError): _ = logging.skip_log_prefix(dict_input) mock_skip_register.assert_not_called()
def test_skip_log_prefix_with_lambda(self, mock_skip_register): lambda_input = lambda _: self._log_some_info() retval = logging.skip_log_prefix(lambda_input) mock_skip_register.assert_called_once_with(__file__, '<lambda>', mock.ANY) self.assertEqual(retval, lambda_input)
def test_skip_log_prefix_with_functools_partial(self, mock_skip_register): partial_input = functools.partial(self._log_some_info) with self.assertRaises(ValueError): _ = logging.skip_log_prefix(partial_input) mock_skip_register.assert_not_called()
def test_skip_log_prefix_with_func(self, mock_skip_register): retval = logging.skip_log_prefix(self._log_some_info) mock_skip_register.assert_called_once_with( __file__, '_log_some_info', mock.ANY) self.assertEqual(retval, self._log_some_info)
def test_skip_log_prefix_with_name(self, mock_skip_register): retval = logging.skip_log_prefix('_log_some_info') mock_skip_register.assert_called_once_with(__file__, '_log_some_info', None) self.assertEqual(retval, '_log_some_info')
The logging will be handled with the abseil library. An addition is being made in order to allow different levels of verbosity. """ from __future__ import absolute_import from absl import flags from absl.logging import (DEBUG, ERROR, FATAL, INFO, WARN, WARNING, debug, error, fatal, info, set_verbosity, skip_log_prefix, warn, warning) # This removes warning and redirection to stderr flags.FLAGS.mark_as_parsed() # Define verbosity _VERBOSITY_INFO_LEVEL = 0 def set_info_level(level): global _VERBOSITY_INFO_LEVEL set_verbosity(INFO) _VERBOSITY_INFO_LEVEL = level def verbose(msg, level=0): if level <= _VERBOSITY_INFO_LEVEL: info(msg) # Register frame to not show that verbose messages come from this file skip_log_prefix(verbose)