def test__twistd_default_verbosity(self): verbosity, set_verbosity = self._get_log_levels(2) name = factory.make_name("log.name") logged = log_something( name, verbosity=verbosity, set_verbosity=set_verbosity, mode=LoggingMode.TWISTD) self.addDetail("logged", text_content(logged)) observed = find_log_lines(logged) expected = [ (name, 'info', 'From `twisted.logger`.'), (name, 'warn', 'From `twisted.logger`.'), (name, 'error', 'From `twisted.logger`.'), (name, 'info', 'From `twisted.python.log`.'), ('logsomething', 'info', 'From `twisted.python.log.logfile`.'), (name, 'info', 'From `logging`.'), (name, 'warn', 'From `logging`.'), (name, 'error', 'From `logging`.'), ('maas.' + name, 'info', 'From `get_maas_logger`.'), ('maas.' + name, 'warn', 'From `get_maas_logger`.'), ('maas.' + name, 'error', 'From `get_maas_logger`.'), ('stdout', 'info', 'Printing to stdout.'), ('stderr', 'error', 'Printing to stderr.'), ('-', 'warn', 'UserWarning: This is a warning!'), ] self.assertSequenceEqual(expected, observed)
def test__command_high_verbosity(self): verbosity, set_verbosity = self._get_log_levels(3) name = factory.make_name("log.name") logged = log_something( name, verbosity=verbosity, set_verbosity=set_verbosity, mode=LoggingMode.COMMAND) self.addDetail("logged", text_content(logged)) observed = find_log_lines(logged) expected = [ (name, 'debug', 'From `twisted.logger`.'), (name, 'info', 'From `twisted.logger`.'), (name, 'warn', 'From `twisted.logger`.'), (name, 'error', 'From `twisted.logger`.'), (name, 'info', 'From `twisted.python.log`.'), ('logsomething', 'info', 'From `twisted.python.log.logfile`.'), (name, 'debug', 'From `logging`.'), (name, 'info', 'From `logging`.'), (name, 'warn', 'From `logging`.'), (name, 'error', 'From `logging`.'), ('maas.' + name, 'debug', 'From `get_maas_logger`.'), ('maas.' + name, 'info', 'From `get_maas_logger`.'), ('maas.' + name, 'warn', 'From `get_maas_logger`.'), ('maas.' + name, 'error', 'From `get_maas_logger`.'), ] self.assertSequenceEqual(expected, observed) self.assertThat(logged, DocTestMatches("""\ ... Printing to stdout. Printing to stderr. This is a warning! """))
def test_twistd_default_verbosity(self): verbosity, set_verbosity = self._get_log_levels(2) name = factory.make_name("log.name") logged = log_something( name, verbosity=verbosity, set_verbosity=set_verbosity, mode=LoggingMode.TWISTD, ) self.addDetail("logged", text_content(logged)) observed = find_log_lines(logged) expected = [ (name, "info", "From `twisted.logger`."), (name, "warn", "From `twisted.logger`."), (name, "error", "From `twisted.logger`."), (name, "info", "From `twisted.python.log`."), ("logsomething", "info", "From `twisted.python.log.logfile`."), (name, "info", "From `logging`."), (name, "warn", "From `logging`."), (name, "error", "From `logging`."), ("maas." + name, "info", "From `get_maas_logger`."), ("maas." + name, "warn", "From `get_maas_logger`."), ("maas." + name, "error", "From `get_maas_logger`."), ("stdout", "info", "Printing to stdout."), ("stderr", "error", "Printing to stderr."), ("-", "warn", "UserWarning: This is a warning!"), ] self.assertSequenceEqual(expected, observed)
def test_command_lowest_verbosity(self): verbosity, set_verbosity = self._get_log_levels(0) name = factory.make_name("log.name") logged = log_something( name, verbosity=verbosity, set_verbosity=set_verbosity, mode=LoggingMode.COMMAND, ) self.addDetail("logged", text_content(logged)) observed = find_log_lines(logged) expected = [ (name, "error", "From `twisted.logger`."), (name, "error", "From `logging`."), ("maas." + name, "error", "From `get_maas_logger`."), ] self.assertSequenceEqual(expected, observed) self.assertThat( logged, DocTestMatches("""\ ... Printing to stdout. Printing to stderr. This is a warning! """), )
def test__twistd_lowest_verbosity(self): verbosity, set_verbosity = self._get_log_levels(0) name = factory.make_name("log.name") logged = log_something( name, verbosity=verbosity, set_verbosity=set_verbosity, mode=LoggingMode.TWISTD) self.addDetail("logged", text_content(logged)) observed = find_log_lines(logged) expected = [ (name, 'error', 'From `twisted.logger`.'), (name, 'error', 'From `logging`.'), ('maas.' + name, 'error', 'From `get_maas_logger`.'), ('stderr', 'error', 'Printing to stderr.'), ] self.assertSequenceEqual(expected, observed)
def setUp(self): super(TestEventLogger, self).setUp() self.output = io.StringIO() self.log = EventLogger(self.output) self.get_logs = lambda: find_log_lines(self.output.getvalue())