diff options
-rw-r--r-- | mitmproxy/addons/termlog.py | 2 | ||||
-rw-r--r-- | mitmproxy/options.py | 13 | ||||
-rw-r--r-- | mitmproxy/tools/console/eventlog.py | 4 | ||||
-rw-r--r-- | mitmproxy/tools/console/master.py | 2 | ||||
-rw-r--r-- | mitmproxy/tools/main.py | 5 | ||||
-rw-r--r-- | test/mitmproxy/addons/test_dumper.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/addons/test_termlog.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/tools/console/test_master.py | 2 | ||||
-rw-r--r-- | test/mitmproxy/tools/test_dump.py | 2 |
9 files changed, 24 insertions, 10 deletions
diff --git a/mitmproxy/addons/termlog.py b/mitmproxy/addons/termlog.py index 4c37b005..3a9f2c19 100644 --- a/mitmproxy/addons/termlog.py +++ b/mitmproxy/addons/termlog.py @@ -20,7 +20,7 @@ class TermLog: else: outfile = self.outfile or realstdout - if ctx.options.verbosity >= log.log_tier(e.level): + if log.log_tier(ctx.options.verbosity) >= log.log_tier(e.level): click.secho( e.msg, file=outfile, diff --git a/mitmproxy/options.py b/mitmproxy/options.py index 954db7e8..a3042008 100644 --- a/mitmproxy/options.py +++ b/mitmproxy/options.py @@ -27,6 +27,14 @@ console_layouts = [ "horizontal", ] +log_verbosity = [ + "error", + "warn", + "info", + "alert", + "debug", +] + APP_HOST = "mitm.it" APP_PORT = 80 CA_DIR = "~/.mitmproxy" @@ -162,8 +170,9 @@ class Options(optmanager.OptManager): """ ) self.add_option( - "verbosity", int, 2, - "Log verbosity." + "verbosity", str, 'info', + "Log verbosity.", + choices=log_verbosity ) self.add_option( "default_contentview", str, "auto", diff --git a/mitmproxy/tools/console/eventlog.py b/mitmproxy/tools/console/eventlog.py index 5fdada9f..a76b910e 100644 --- a/mitmproxy/tools/console/eventlog.py +++ b/mitmproxy/tools/console/eventlog.py @@ -1,6 +1,8 @@ import urwid from mitmproxy.tools.console import signals from mitmproxy.tools.console import layoutwidget +from mitmproxy import ctx +from mitmproxy import log EVENTLOG_SIZE = 10000 @@ -32,6 +34,8 @@ class EventLog(urwid.ListBox, layoutwidget.LayoutWidget): return urwid.ListBox.keypress(self, size, key) def sig_add_log(self, sender, e, level): + if log.log_tier(ctx.options.verbosity) < log.log_tier(level): + return txt = "%s: %s" % (level, str(e)) if level in ("error", "warn"): e = urwid.Text((level, txt)) diff --git a/mitmproxy/tools/console/master.py b/mitmproxy/tools/console/master.py index cd29dba9..8c8cfe61 100644 --- a/mitmproxy/tools/console/master.py +++ b/mitmproxy/tools/console/master.py @@ -87,7 +87,7 @@ class ConsoleMaster(master.Master): ) def sig_add_log(self, sender, e, level): - if self.options.verbosity < log.log_tier(level): + if log.log_tier(self.options.verbosity) < log.log_tier(level): return if level in ("error", "warn"): signals.status_message.send( diff --git a/mitmproxy/tools/main.py b/mitmproxy/tools/main.py index 58900d29..1575de98 100644 --- a/mitmproxy/tools/main.py +++ b/mitmproxy/tools/main.py @@ -16,6 +16,7 @@ from mitmproxy import exceptions # noqa from mitmproxy import options # noqa from mitmproxy import optmanager # noqa from mitmproxy import proxy # noqa +from mitmproxy import log # noqa from mitmproxy.utils import debug # noqa @@ -40,7 +41,7 @@ def process_options(parser, opts, args): print(debug.dump_system_info()) sys.exit(0) if args.quiet or args.options or args.commands: - args.verbosity = 0 + args.verbosity = 'error' args.flow_detail = 0 adict = {} @@ -79,7 +80,7 @@ def run(MasterKlass, args, extra=None): # pragma: no cover master.addons.trigger("configure", opts.keys()) master.addons.trigger("tick") remaining = opts.update_known(**unknown) - if remaining and opts.verbosity > 1: + if remaining and log.log_tier(opts.verbosity) > 1: print("Ignored options: %s" % remaining) if args.options: print(optmanager.dump_defaults(opts)) diff --git a/test/mitmproxy/addons/test_dumper.py b/test/mitmproxy/addons/test_dumper.py index d8aa593b..fb80f3ce 100644 --- a/test/mitmproxy/addons/test_dumper.py +++ b/test/mitmproxy/addons/test_dumper.py @@ -148,7 +148,7 @@ class TestContentView: sio = io.StringIO() d = dumper.Dumper(sio) with taddons.context(options=options.Options()) as ctx: - ctx.configure(d, flow_detail=4, verbosity=3) + ctx.configure(d, flow_detail=4, verbosity='debug') d.response(tflow.tflow()) assert ctx.master.has_log("content viewer failed") diff --git a/test/mitmproxy/addons/test_termlog.py b/test/mitmproxy/addons/test_termlog.py index 2133b74d..027bdfeb 100644 --- a/test/mitmproxy/addons/test_termlog.py +++ b/test/mitmproxy/addons/test_termlog.py @@ -16,7 +16,7 @@ class TestTermLog: ]) def test_output(self, outfile, expected_out, expected_err, capfd): t = termlog.TermLog(outfile=outfile) - with taddons.context(options=Options(verbosity=2)) as tctx: + with taddons.context(options=Options(verbosity='info')) as tctx: tctx.configure(t) t.log(log.LogEntry("one", "info")) t.log(log.LogEntry("two", "debug")) diff --git a/test/mitmproxy/tools/console/test_master.py b/test/mitmproxy/tools/console/test_master.py index a3478bdc..ef357c76 100644 --- a/test/mitmproxy/tools/console/test_master.py +++ b/test/mitmproxy/tools/console/test_master.py @@ -28,7 +28,7 @@ def test_options(): class TestMaster(tservers.MasterTest): def mkmaster(self, **opts): if "verbosity" not in opts: - opts["verbosity"] = 1 + opts["verbosity"] = 'warn' o = options.Options(**opts) m = console.master.ConsoleMaster(o, proxy.DummyServer()) m.addons.trigger("configure", o.keys()) diff --git a/test/mitmproxy/tools/test_dump.py b/test/mitmproxy/tools/test_dump.py index 69a76d2e..597333af 100644 --- a/test/mitmproxy/tools/test_dump.py +++ b/test/mitmproxy/tools/test_dump.py @@ -12,7 +12,7 @@ from .. import tservers class TestDumpMaster(tservers.MasterTest): def mkmaster(self, flt, **opts): - o = options.Options(view_filter=flt, verbosity=-1, flow_detail=0, **opts) + o = options.Options(view_filter=flt, verbosity='error', flow_detail=0, **opts) m = dump.DumpMaster(o, proxy.DummyServer(), with_termlog=False, with_dumper=False) return m |