aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/addons/termlog.py
blob: 5fdb6245f11d2f4ac0912a93cc2b2fce2d508fc1 (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
25
26
27
28
import sys
import click

from mitmproxy import log


class TermLog:
    def __init__(self, outfile=None):
        self.options = None
        self.outfile = outfile

    def configure(self, options, updated):
        self.options = options

    def log(self, e):
        if log.log_tier(e.level) == log.log_tier("error"):
            outfile = self.outfile or sys.stderr
        else:
            outfile = self.outfile or sys.stdout

        if self.options.verbosity >= log.log_tier(e.level):
            click.secho(
                e.msg,
                file=outfile,
                fg=dict(error="red", warn="yellow").get(e.level),
                dim=(e.level == "debug"),
                err=(e.level == "error")
            )