migration from ha-cantegrill repo
This commit is contained in:
44
logger_interface.py
Normal file
44
logger_interface.py
Normal file
@@ -0,0 +1,44 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user