aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mitmproxy/addons/termlog.py2
-rw-r--r--mitmproxy/options.py13
-rw-r--r--mitmproxy/tools/console/eventlog.py4
-rw-r--r--mitmproxy/tools/console/master.py2
-rw-r--r--mitmproxy/tools/main.py5
-rw-r--r--test/mitmproxy/addons/test_dumper.py2
-rw-r--r--test/mitmproxy/addons/test_termlog.py2
-rw-r--r--test/mitmproxy/tools/console/test_master.py2
-rw-r--r--test/mitmproxy/tools/test_dump.py2
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