##// END OF EJS Templates
Improve logger
Improve logger

File last commit:

r1134:d5610a11112f
r1134:d5610a11112f
Show More
log.py
57 lines | 1.7 KiB | text/x-python | PythonLexer
'''
SCHAINPY - LOG
Simple helper for log standarization
Usage:
from schainpy.utils import log
log.error('A kitten died beacuse of you')
log.warning('You are doing it wrong but what the heck, I'll allow it)
log.succes('YOU ROCK!')
To create your own logger inside your class do it like this:
from schainpy.utils import log
awesomeLogger = log.makelogger("never gonna", bg="red", fg="white")
awesomeLogger('give you up')
which will look like this:
[NEVER GONNA] - give you up
with color red as background and white as foreground.
'''
import click
def warning(message, tag='Warning', nl=True):
if tag:
click.echo(click.style('[{}] {}'.format(tag, message), fg='yellow'), nl=nl)
else:
click.echo(click.style('{}'.format(message), fg='yellow'), nl=nl)
pass
def error(message, tag='Error', nl=True):
if tag:
click.echo(click.style('[{}] {}'.format(tag, message), fg='red'), nl=nl)
else:
click.echo(click.style('{}'.format(message), fg='red'), nl=nl)
pass
def success(message, tag='Success', nl=True):
if tag:
click.echo(click.style('[{}] {}'.format(tag, message), fg='green'), nl=nl)
else:
click.echo(click.style('{}'.format(message), fg='green'), nl=nl)
pass
def log(message, tag='Info', nl=True):
if tag:
click.echo('[{}] {}'.format(tag, message), nl=nl)
else:
click.echo('{}'.format(message), nl=nl)
pass
def makelogger(tag, bg='reset', fg='reset'):
def func(message):
click.echo(click.style('[{}] {}'.format(
tag.upper(), message), bg=bg, fg=fg))
return func