class LogEntry: def __init__(self, msg, level): self.msg = msg self.level = level def __eq__(self, other): if isinstance(other, LogEntry): return self.__dict__ == other.__dict__ return False def __repr__(self): return "LogEntry({}, {})".format(self.msg, self.level) class Log: """ The central logger, exposed to scripts as mitmproxy.ctx.log. """ def __init__(self, master): self.master = master def debug(self, txt): """ Log with level debug. """ self(txt, "debug") def info(self, txt): """ Log with level info. """ self(txt, "info") def alert(self, txt): """ Log with level alert. Alerts have the same urgency as info, but signals to interctive tools that the user's attention should be drawn to the output even if they're not currently looking at the event log. """ self(txt, "alert") def warn(self, txt): """ Log with level warn. """ self(txt, "warn") def error(self, txt): """ Log with level error. """ self(txt, "error") def __call__(self, text, level="info"): self.master.add_log(text, level) def log_tier(level): return dict(error=0, warn=1, info=2, alert=2, debug=3).get(level) 03a0e05e47a534271'>refslogtreecommitdiffstats
path: root/test/netlib/test_debug.py
blob: 51710da0d01b1101e2bc1317df58f7aac4d8afdf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from __future__ import (absolute_import, print_function, division)
from six.moves import cStringIO as StringIO

from netlib import debug


def test_dump_info():
    cs = StringIO()
    debug.dump_info(None, None, file=cs)
    assert cs.getvalue()


def test_dump_stacks():
    cs = StringIO()
    debug.dump_stacks(None, None, file=cs)
    assert cs.getvalue()


def test_sysinfo():
    assert debug.sysinfo()


def test_register_info_dumpers():
    debug.register_info_dumpers()