Files
WPIQ/wo/core/logging.py

89 lines
2.6 KiB
Python
Raw Permalink Normal View History

2018-11-13 21:55:59 +01:00
"""WordOps log module"""
class Log:
"""
Logs messages with colors for different messages
according to functions
"""
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
def error(self, msg, exit=True):
"""
Logs error into log file
"""
print(Log.FAIL + msg + Log.ENDC)
self.app.log.error(Log.FAIL + msg + Log.ENDC)
if exit:
self.app.close(1)
def info(self, msg, end='\n', log=True):
"""
Logs info messages into log file
"""
print(Log.OKBLUE + msg + Log.ENDC, end=end)
if log:
self.app.log.info(Log.OKBLUE + msg + Log.ENDC)
def warn(self, msg):
"""
Logs warning into log file
"""
print(Log.WARNING + msg + Log.ENDC)
self.app.log.warning(Log.BOLD + msg + Log.ENDC)
2018-11-13 21:55:59 +01:00
def debug(self, msg):
"""
Logs debug messages into log file
"""
self.app.log.debug(Log.HEADER + msg + Log.ENDC, __name__)
2019-09-04 03:07:24 +02:00
def wait(self, msg, end='\r', log=True):
"""
Logs info messages with validation step
"""
2019-09-05 12:41:59 +02:00
space_to_add = int(31 - len(msg[0:31]))
2019-09-05 12:22:31 +02:00
space = " "
2019-09-04 03:07:24 +02:00
print(
2019-09-05 12:41:59 +02:00
Log.OKBLUE + "{0}".format(msg[0:31]) +
2019-09-05 12:18:29 +02:00
"{0}".format(space[0:space_to_add]) +
2019-09-05 11:59:57 +02:00
" [" + Log.ENDC + ".." + Log.OKBLUE + "]" + Log.ENDC, end=end)
2019-09-04 03:07:24 +02:00
if log:
self.app.log.info(Log.OKBLUE + msg + Log.ENDC)
def valide(self, msg, end='\n', log=True):
"""
Logs info messages after validation step
"""
2019-09-05 12:41:59 +02:00
space_to_add = int(31 - len(msg[0:31]))
2019-09-05 12:22:31 +02:00
space = " "
2019-09-04 03:07:24 +02:00
print(
2019-09-05 12:41:59 +02:00
Log.OKBLUE + "{0}".format(msg[0:31]) +
2019-09-05 12:18:29 +02:00
"{0}".format(space[0:space_to_add]) +
2019-09-05 11:59:57 +02:00
" [" + Log.ENDC + Log.OKGREEN + "OK" +
2019-09-04 19:25:09 +02:00
Log.ENDC + Log.OKBLUE + "]" + Log.ENDC, end=end)
2019-09-04 03:07:24 +02:00
if log:
2019-09-04 19:25:09 +02:00
self.app.log.info(Log.OKGREEN + msg + Log.ENDC)
def failed(self, msg, end='\n', log=True):
"""
Logs info messages after validation step
"""
2019-09-05 12:41:59 +02:00
space_to_add = int(31 - len(msg[0:31]))
2019-09-05 12:22:31 +02:00
space = " "
2019-09-04 19:25:09 +02:00
print(
2019-09-05 12:41:59 +02:00
Log.OKBLUE + "{0}".format(msg[0:31]) +
2019-09-05 12:18:29 +02:00
"{0}".format(space[0:space_to_add]) +
2019-09-05 12:49:42 +02:00
" [" + Log.ENDC + Log.FAIL + "KO" +
2019-09-04 19:25:09 +02:00
Log.ENDC + Log.OKBLUE + "]" + Log.ENDC, end=end)
if log:
self.app.log.info(Log.FAIL + msg + Log.ENDC)