added the UnMarkupFormatter
This commit is contained in:
25
console.py
25
console.py
@@ -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}')
|
||||
|
||||
|
||||
Reference in New Issue
Block a user