|
@@ -6,6 +6,7 @@
|
|
|
import sys
|
|
|
import os
|
|
|
import logging
|
|
|
+import warnings
|
|
|
from datetime import datetime
|
|
|
|
|
|
sys.path.append(os.getcwd())
|
|
@@ -15,6 +16,7 @@ class Log():
|
|
|
'''
|
|
|
'''
|
|
|
pass
|
|
|
+
|
|
|
def __init__(self, name: str = None,
|
|
|
log_file: str = None,
|
|
|
log_level: str = "ERROR",
|
|
@@ -29,7 +31,6 @@ class Log():
|
|
|
name = ''
|
|
|
|
|
|
self._logger = logging.getLogger(name)
|
|
|
-
|
|
|
|
|
|
self._logger.setLevel("DEBUG")
|
|
|
|
|
@@ -37,7 +38,9 @@ class Log():
|
|
|
self._logger.handlers.clear()
|
|
|
|
|
|
if log_file is None:
|
|
|
- log_file = os.path.join(".", "logs", str(datetime.today().date()) + ".log")
|
|
|
+ log_file = os.path.join(".",
|
|
|
+ "logs",
|
|
|
+ str(datetime.today().date()) + ".log")
|
|
|
|
|
|
assert(isinstance(log_file, str)),\
|
|
|
"Parameter 'log_path' must be of string type"
|
|
@@ -60,7 +63,6 @@ class Log():
|
|
|
|
|
|
# self._logger.setLevel(log_level)
|
|
|
|
|
|
-
|
|
|
@property
|
|
|
def magenta(self):
|
|
|
return '\033[95m'
|
|
@@ -97,7 +99,6 @@ class Log():
|
|
|
def underline(self):
|
|
|
return '\033[4m'
|
|
|
|
|
|
-
|
|
|
def info(self, message: str):
|
|
|
self._logger.info(message)
|
|
|
|
|
@@ -107,23 +108,23 @@ class Log():
|
|
|
def error(self, message: str):
|
|
|
self._logger.error(message)
|
|
|
|
|
|
- def log_and_raise_error(self, message):
|
|
|
+ def log_and_raise_error(self, message, ErrorType=Exception):
|
|
|
'''
|
|
|
'''
|
|
|
self._logger.error(message, exc_info=True)
|
|
|
|
|
|
- raise Exception(message)
|
|
|
+ raise ErrorType(message)
|
|
|
|
|
|
- def log_and_raise_error_stack_info(self, message):
|
|
|
+ def log_and_raise_error_stack_info(self, message, ErrorType=Exception):
|
|
|
'''
|
|
|
'''
|
|
|
self._logger.error(message, exc_info=True, stack_info=True)
|
|
|
|
|
|
- raise Exception(message)
|
|
|
+ raise ErrorType(message)
|
|
|
|
|
|
def log_and_raise_warning(self, message):
|
|
|
'''
|
|
|
'''
|
|
|
- self._logger.warning(message)
|
|
|
+ self._logger.warning(message, exc_info=True)
|
|
|
|
|
|
- raise Warning(message)
|
|
|
+ warnings.warn(message)
|