-
Notifications
You must be signed in to change notification settings - Fork 54
/
logging.py
38 lines (26 loc) · 919 Bytes
/
logging.py
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
29
30
31
32
33
34
35
36
37
38
# coding: utf-8
from __future__ import absolute_import, division, print_function, unicode_literals
import logging
from . import click
# Initialise the builtin logging module for other component using it.
# Ex: pip
logging.basicConfig()
class LogContext(object):
def __init__(self, verbosity=0):
self.verbosity = verbosity
def log(self, *args, **kwargs):
kwargs.setdefault("err", True)
click.secho(*args, **kwargs)
def debug(self, *args, **kwargs):
if self.verbosity >= 1:
self.log(*args, **kwargs)
def info(self, *args, **kwargs):
if self.verbosity >= 0:
self.log(*args, **kwargs)
def warning(self, *args, **kwargs):
kwargs.setdefault("fg", "yellow")
self.log(*args, **kwargs)
def error(self, *args, **kwargs):
kwargs.setdefault("fg", "red")
self.log(*args, **kwargs)
log = LogContext()