Files
ad_toolbox/logger_interface.py

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)