44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import traceback
|
|
|
|
class LoggerInterface:
|
|
|
|
def __init__(self):
|
|
self.initialized = False
|
|
|
|
def __init__(self,ad_api, default_log = "main_log",mute = False):
|
|
self.initialize_logger_interface(ad_api,default_log,mute)
|
|
|
|
def initialize_logger_interface(self,ad_api, default_log = "main_log",mute = False):
|
|
self.ad_api = ad_api
|
|
self.default_log = default_log
|
|
self.mute = False
|
|
self.initialized = True
|
|
|
|
def mute_logger(self,mute : bool):
|
|
if mute:
|
|
self.ad_api.log("Muting logger",level = "INFO", log = self.default_log)
|
|
self.mute = bool(mute)
|
|
|
|
def log_info(self,message):
|
|
assert self.initialized
|
|
if not self.mute:
|
|
self.ad_api.log(message,level = "INFO", log = self.default_log)
|
|
|
|
def log_warning(self,message):
|
|
assert self.initialized
|
|
self.ad_api.log(message,level = "WARNING", log = self.default_log)
|
|
|
|
def log_error(self,message,stop_app = False,dump_stack = False):
|
|
assert self.initialized
|
|
|
|
if dump_stack:
|
|
stack = "\n"
|
|
for line in traceback.format_stack()[:-1]:
|
|
stack += line.strip() + '\n'
|
|
else: stack = ""
|
|
|
|
self.ad_api.log(message,level = "ERROR", log = self.default_log)
|
|
self.ad_api.log(message + stack,level = "ERROR", log = "error_log")
|
|
|
|
if stop_app:
|
|
self.stop_app(self.name) |