コード例 #1
0
    def setUp(self):
        self.internal_output = outputs.ListOutput(close_atexit=False)
        self.internal_messages = self.internal_output.messages
        _twiggy._populate_globals()
        _twiggy.internal_log.output = self.internal_output

        self.log = logger.Logger()
        self.emitters = self.log._emitters
        self.output = outputs.ListOutput(close_atexit=False)
        self.emitters['everything'] = filters.Emitter(levels.DEBUG, None,
                                                      self.output)
        self.messages = self.output.messages
コード例 #2
0
ファイル: test_logger.py プロジェクト: abadger/twiggy
def test_logger(request):
    output = outputs.ListOutput(close_atexit=False)
    if issubclass(request.param, logger.InternalLogger):
        yield request.param(output=output)
    else:
        log = request.param()
        emitters = log._emitters
        emitters['*'] = filters.Emitter(levels.DEBUG, None, output)
        yield log

    output.close()
コード例 #3
0
ファイル: test_outputs.py プロジェクト: irl/twiggy
    def test_list_output(self):
        o = outputs.ListOutput()
        o.output(m)
        assert len(o.messages) == 1
        assert o.messages[0] is m

        m2 = make_mesg()
        m2.fields['time'] = when

        o.output(m2)
        assert o.messages[1] is m2
        o.close()
        assert not o.messages
コード例 #4
0
    def test_trap_filter(self):

        out = outputs.ListOutput(close_atexit=False)

        def cleanup(output):
            try:
                del self.emitters['before']
            except KeyError:
                pass

            out.close()

        self.addCleanup(cleanup, out)

        def go_boom(msg):
            raise RuntimeError("BOOM")

        self.emitters['before'] = filters.Emitter(levels.DEBUG, go_boom, out)

        self.log.fields().info('hi')

        # errors in filtering cause messages to be output anyway
        assert len(out.messages) == 1
        m1 = out.messages.pop()
        assert m1.text == "hi"

        assert len(self.messages) == 1
        m2 = self.messages.pop()
        assert m2.text == "hi"

        assert m1 is m2

        assert len(self.internal_messages) == 1
        m = self.internal_messages.pop()

        print m.text
        print m.traceback

        assert m.level == levels.INFO
        assert "Error filtering with emitter before" in m.text
        assert "<function go_boom" in m.text
        assert "Traceback" in m.traceback
        assert "BOOM" in m.traceback
コード例 #5
0
 def setUp(self):
     self.log = logger.Logger()
     self.emitters = self.log._emitters
     self.output = outputs.ListOutput(close_atexit=False)
     self.emitters['*'] = filters.Emitter(levels.DEBUG, None, self.output)
     self.messages = self.output.messages
コード例 #6
0
 def setUp(self):
     self.output = outputs.ListOutput(close_atexit=False)
     self.messages = self.output.messages
     self.log = logger.InternalLogger(output=self.output)