Explorar el Código

added ErrorType in log

tanja hace 4 años
padre
commit
0457ee6e80
Se han modificado 1 ficheros con 11 adiciones y 10 borrados
  1. 11 10
      cdplib/log.py

+ 11 - 10
cdplib/log.py

@@ -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)