added the UnMarkupFormatter

This commit is contained in:
John Lancaster
2024-03-09 19:56:34 -06:00
parent 17670b983e
commit 96be16e0bb

View File

@@ -1,4 +1,5 @@
import logging
import re
from appdaemon.adapi import ADAPI
from appdaemon.logging import AppNameFormatter
@@ -13,24 +14,36 @@ console = Console(
)
handler = RichHandler(
class UnMarkupFormatter(AppNameFormatter):
md_regex = re.compile(r'(?P<open>\[.*?\])(?P<text>.*?)(?P<close>\[\/\])')
def format(self, record: logging.LogRecord):
result = super().format(record)
return self.md_regex.sub(r'\g<text>', result)
def create_handler() -> RichHandler:
handler = RichHandler(
console=console,
highlighter=NullHighlighter(),
markup=True,
show_path=False,
omit_repeated_times=False,
log_time_format='%Y-%m-%d %I:%M:%S %p',
)
handler.setFormatter(AppNameFormatter(fmt='[appname]{appname}[/] {message}', style='{'))
)
handler.setFormatter(AppNameFormatter(fmt='[appname]{appname}[/] {message}', style='{'))
return handler
def init_logging(self: ADAPI, level):
stream_handler = logging.getLogger('AppDaemon').handlers[0]
og_formatter = stream_handler.formatter
stream_handler.setFormatter(UnMarkupFormatter(fmt=og_formatter._fmt, datefmt=og_formatter.datefmt, style='{'))
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.logger.addHandler(create_handler())
self.log(f'Added rich handler for [bold green]{self.logger.name}[/]')
# self.log(f'Formatter for RichHandler: {handler.formatter}')