Skip to content

Commit

Permalink
Use same Console for logger and progress bars
Browse files Browse the repository at this point in the history
  • Loading branch information
albireox committed Jul 20, 2023
1 parent b7d50fd commit e533782
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
3 changes: 2 additions & 1 deletion src/gort/devices/spec.py
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ async def start_timer(
TextColumn("s"),
expand=True,
transient=True,
auto_refresh=True,
console=self.spec_set.gort._console, # Need to use same console as logger.
)

exp_task = self._progress.add_task(
Expand Down Expand Up @@ -210,7 +212,6 @@ async def update_timer():
self._progress.update(exp_task, completed=int(exposure_time))
self._progress.update(readout_task, advance=1)

self._progress.refresh()
await asyncio.sleep(1)
elapsed += 1

Expand Down
4 changes: 3 additions & 1 deletion src/gort/gort.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,15 @@ def __init__(

client_uuid = str(uuid.uuid4()).split("-")[1]

log, self._console = get_rich_logger()

super().__init__(
f"Gort-client-{client_uuid}",
host=host,
port=port,
user=user,
password=password,
log=get_rich_logger(),
log=log,
)

self.actors: dict[str, RemoteActor] = {}
Expand Down
25 changes: 14 additions & 11 deletions src/gort/tools.py
Original file line number Diff line number Diff line change
Expand Up @@ -575,20 +575,23 @@ def get_rich_logger(verbosity_level: int = logging.WARNING):
if log.warnings_logger:
log.warnings_logger.removeHandler(log.sh)

# Create a new console with modified log level colours.
console = Console(
theme=Theme(
{
"logging.level.debug": "magenta",
"logging.level.warning": "yellow",
"logging.level.critical": "red",
"logging.level.error": "red",
}
)
)

rich_handler = CustomRichHandler(
level=verbosity_level,
log_time_format="%X",
show_path=False,
console=Console(
theme=Theme(
{
"logging.level.debug": "magenta",
"logging.level.warning": "yellow",
"logging.level.critical": "red",
"logging.level.error": "red",
}
)
),
console=console,
)
log.addHandler(rich_handler)

Expand All @@ -600,7 +603,7 @@ def get_rich_logger(verbosity_level: int = logging.WARNING):
if rich_handler not in log.warnings_logger.handlers:
log.warnings_logger.addHandler(rich_handler)

return log
return log, console


async def cancel_task(task: asyncio.Task | None):
Expand Down

0 comments on commit e533782

Please sign in to comment.