Files
room_control/console.py
2024-03-03 15:25:39 -06:00

32 lines
937 B
Python

import logging
from appdaemon.adapi import ADAPI
from rich.console import Console
from rich.logging import RichHandler
console = Console(width=150)
handler = RichHandler(
console=console,
markup=True,
show_path=False,
log_time_format='%Y-%m-%d %I:%M:%S %p',
)
def setup_logging(self: ADAPI, level):
if not any(isinstance(h, RichHandler) for h in self.logger.handlers):
self.logger.propagate = False
self.logger.setLevel(level)
self.logger.addHandler(handler)
self.log(f'Added rich handler for [bold green]{self.logger.name}[/]')
# self.log(f'Formatter [bold green]{self.logger.handlers[0].formatter}[/]')
def deinit_logging(self: ADAPI):
self.logger.setLevel(logging.NOTSET)
self.logger.propagate = True
for h in self.logger.handlers:
if isinstance(h, RichHandler):
self.logger.removeHandler(h)
self.log('Removed RichHandler')