added the UnMarkupFormatter
This commit is contained in:
33
console.py
33
console.py
@@ -1,4 +1,5 @@
|
|||||||
import logging
|
import logging
|
||||||
|
import re
|
||||||
|
|
||||||
from appdaemon.adapi import ADAPI
|
from appdaemon.adapi import ADAPI
|
||||||
from appdaemon.logging import AppNameFormatter
|
from appdaemon.logging import AppNameFormatter
|
||||||
@@ -13,24 +14,36 @@ console = Console(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
handler = RichHandler(
|
class UnMarkupFormatter(AppNameFormatter):
|
||||||
console=console,
|
md_regex = re.compile(r'(?P<open>\[.*?\])(?P<text>.*?)(?P<close>\[\/\])')
|
||||||
highlighter=NullHighlighter(),
|
|
||||||
markup=True,
|
def format(self, record: logging.LogRecord):
|
||||||
show_path=False,
|
result = super().format(record)
|
||||||
omit_repeated_times=False,
|
return self.md_regex.sub(r'\g<text>', result)
|
||||||
log_time_format='%Y-%m-%d %I:%M:%S %p',
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
handler.setFormatter(AppNameFormatter(fmt='[appname]{appname}[/] {message}', style='{'))
|
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='{'))
|
||||||
|
return handler
|
||||||
|
|
||||||
|
|
||||||
def init_logging(self: ADAPI, level):
|
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):
|
if not any(isinstance(h, RichHandler) for h in self.logger.handlers):
|
||||||
self.logger.propagate = False
|
self.logger.propagate = False
|
||||||
self.logger.setLevel(level)
|
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'Added rich handler for [bold green]{self.logger.name}[/]')
|
||||||
# self.log(f'Formatter for RichHandler: {handler.formatter}')
|
# self.log(f'Formatter for RichHandler: {handler.formatter}')
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user