changed log format

This commit is contained in:
John Lancaster
2024-04-28 11:27:34 -05:00
parent 68edfde755
commit 866b4a1cfb

View File

@@ -1,6 +1,7 @@
import logging import logging
import logging.config import logging.config
import re import re
from abc import ABC
from dataclasses import asdict, dataclass from dataclasses import asdict, dataclass
from appdaemon.logging import AppNameFormatter from appdaemon.logging import AppNameFormatter
@@ -40,11 +41,11 @@ console = Console(
} }
), ),
log_time_format='%Y-%m-%d %I:%M:%S %p', log_time_format='%Y-%m-%d %I:%M:%S %p',
highlighter=RCHighlighter(), # highlighter=RCHighlighter(),
) )
class ContextSettingFilter(logging.Filter): class ContextSettingFilter(logging.Filter, ABC):
def filter(self, record: logging.LogRecord) -> logging.LogRecord: def filter(self, record: logging.LogRecord) -> logging.LogRecord:
for name, val in asdict(self).items(): for name, val in asdict(self).items():
setattr(record, name, val) setattr(record, name, val)
@@ -69,9 +70,9 @@ def create_rich_logging_dict(parent_room: str, typ: str = None):
logger_name = f'AppDaemon.{parent_room}' logger_name = f'AppDaemon.{parent_room}'
if typ is not None: if typ is not None:
logger_name += f'.{typ}' logger_name += f'.{typ}'
fmt = '[room]{room:>10}[/] [component]{component:<9}[/] {message}' fmt = '[room]{room}[/] [component]{component}[/] {message}'
else: else:
fmt = '[room]{room:>10}[/] {message}' fmt = '[room]{room}[/] {message}'
LOG_CFG = { LOG_CFG = {
'version': 1, 'version': 1,
@@ -85,23 +86,25 @@ def create_rich_logging_dict(parent_room: str, typ: str = None):
'unmarkup': {'()': 'console.UnMarkupFilter'}, 'unmarkup': {'()': 'console.UnMarkupFilter'},
}, },
'formatters': { 'formatters': {
'basic': {'style': '{', 'format': fmt, 'datefmt': '%H:%M:%S.%f'}, 'rich': {'style': '{', 'format': fmt, 'datefmt': '%H:%M:%S.%f'},
'err': { 'err': {
'style': '{', 'style': '{',
'format': '{asctime}.{msecs:02.0f} {room} {message}', 'format': '{asctime}.{msecs:03.0f} {levelname:8} {room:>10} {component:<9} {message}',
'datefmt': '%I:%M:%S', 'datefmt': '%Y-%m-%d %H:%M:%S',
# 'datefmt': '%H:%M:%S.%f',
}, },
}, },
'handlers': { 'handlers': {
logger_name: { logger_name: {
'filters': [logger_name], 'filters': [logger_name],
'formatter': 'basic', 'formatter': 'rich',
'()': 'rich.logging.RichHandler', '()': 'rich.logging.RichHandler',
'markup': True, 'markup': True,
'show_path': False, 'show_path': False,
# 'show_time': False, # 'show_time': False,
'omit_repeated_times': False, 'omit_repeated_times': False,
'console': console, 'console': console,
'highlighter': RCHighlighter(),
}, },
'stderr': { 'stderr': {
'filters': [logger_name, 'unmarkup'], 'filters': [logger_name, 'unmarkup'],
@@ -109,6 +112,15 @@ def create_rich_logging_dict(parent_room: str, typ: str = None):
'class': 'logging.StreamHandler', 'class': 'logging.StreamHandler',
'stream': 'ext://sys.stderr', 'stream': 'ext://sys.stderr',
}, },
'file': {
'filters': [logger_name, 'unmarkup'],
'class': 'logging.handlers.RotatingFileHandler',
'filename': f'/logs/{parent_room}.log',
'formatter': 'err',
'mode': 'w',
'maxBytes': 10**6,
'backupCount': 3,
},
}, },
'loggers': { 'loggers': {
logger_name: { logger_name: {
@@ -116,6 +128,7 @@ def create_rich_logging_dict(parent_room: str, typ: str = None):
'propagate': False, 'propagate': False,
'handlers': [ 'handlers': [
logger_name, logger_name,
'file',
# 'stderr' # 'stderr'
], ],
} }