diff options
| -rw-r--r-- | mitmproxy/addons/termlog.py | 8 | ||||
| -rw-r--r-- | test/mitmproxy/addons/test_termlog.py | 16 | 
2 files changed, 17 insertions, 7 deletions
| diff --git a/mitmproxy/addons/termlog.py b/mitmproxy/addons/termlog.py index f7739efe..8ee366cd 100644 --- a/mitmproxy/addons/termlog.py +++ b/mitmproxy/addons/termlog.py @@ -13,6 +13,14 @@ class TermLog:          self.options = options      def log(self, e): +        def determine_outfile(): +            if log.log_tier(e.level) == log.log_tier("error"): +                self.outfile = sys.stderr +            else: +                self.outfile = sys.stdout + +        determine_outfile() +          if self.options.verbosity >= log.log_tier(e.level):              click.secho(                  e.msg, diff --git a/test/mitmproxy/addons/test_termlog.py b/test/mitmproxy/addons/test_termlog.py index d9e18134..9d49a8c0 100644 --- a/test/mitmproxy/addons/test_termlog.py +++ b/test/mitmproxy/addons/test_termlog.py @@ -1,16 +1,18 @@ -import io -  from mitmproxy.addons import termlog  from mitmproxy import log  from mitmproxy.tools import dump  class TestTermLog: -    def test_simple(self): -        sio = io.StringIO() -        t = termlog.TermLog(outfile=sio) +    def test_simple(self, capsys): +        t = termlog.TermLog()          t.configure(dump.Options(verbosity = 2), set([]))          t.log(log.LogEntry("one", "info")) -        assert "one" in sio.getvalue()          t.log(log.LogEntry("two", "debug")) -        assert "two" not in sio.getvalue() +        t.log(log.LogEntry("three", "warn")) +        t.log(log.LogEntry("four", "error")) +        out, err = capsys.readouterr() +        assert "one" in out +        assert "two" not in out +        assert "three" in out +        assert "four" in err | 
