diff --git a/src/daqpytools/logging/__init__.py b/src/daqpytools/logging/__init__.py index b0051e5..ca62cab 100644 --- a/src/daqpytools/logging/__init__.py +++ b/src/daqpytools/logging/__init__.py @@ -6,6 +6,7 @@ setup_daq_ers_logger, setup_root_logger, ) +from daqpytools.logging.formatter import DAQ_CONSOLE __all__ = [ "HandlerType", @@ -15,4 +16,5 @@ "logging_log_levels", "setup_daq_ers_logger", "setup_root_logger", + "DAQ_CONSOLE", ] \ No newline at end of file diff --git a/src/daqpytools/logging/formatter.py b/src/daqpytools/logging/formatter.py index ff5d692..d8d18de 100644 --- a/src/daqpytools/logging/formatter.py +++ b/src/daqpytools/logging/formatter.py @@ -6,6 +6,8 @@ from datetime import datetime, tzinfo from pathlib import Path +from rich.console import Console + from pytz import UnknownTimeZoneError, timezone from rich.theme import Theme @@ -131,3 +133,8 @@ def format(self, record: logging.LogRecord) -> str: formatted_record.name = f"{formatted_record.name}".ljust(padding)[:padding] return super().format(formatted_record) + +## Single console instance +DAQ_CONSOLE = Console( + force_terminal=True, theme=CONSOLE_THEME + ) diff --git a/src/daqpytools/logging/rich_handler.py b/src/daqpytools/logging/rich_handler.py index 82aadc1..4e8acf7 100644 --- a/src/daqpytools/logging/rich_handler.py +++ b/src/daqpytools/logging/rich_handler.py @@ -3,7 +3,7 @@ import logging from datetime import datetime -from rich.console import Console, ConsoleRenderable +from rich.console import ConsoleRenderable, Console from rich.logging import RichHandler from rich.text import Text @@ -12,6 +12,7 @@ DATE_TIME_FORMAT, LOG_RECORD_PADDING, TIME_ZONE, + DAQ_CONSOLE ) from daqpytools.logging.levels import logging_log_level_to_str @@ -21,9 +22,7 @@ class FormattedRichHandler(RichHandler): def __init__(self, width: int = 100) -> None: """Initialize with custom console and style settings.""" - console: Console = Console( - force_terminal=True, width=width, theme=CONSOLE_THEME - ) + console: Console = DAQ_CONSOLE super().__init__( console=console, omit_repeated_times=False,