Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions src/fastcs/control_system.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import asyncio
import os
import signal
from collections.abc import Coroutine, Sequence
from functools import partial
Expand Down Expand Up @@ -45,8 +46,9 @@ def __init__(
def run(self, interactive: bool = True):
serve = asyncio.ensure_future(self.serve(interactive=interactive))

self._loop.add_signal_handler(signal.SIGINT, serve.cancel)
self._loop.add_signal_handler(signal.SIGTERM, serve.cancel)
if os.name != "nt":
self._loop.add_signal_handler(signal.SIGINT, serve.cancel)
self._loop.add_signal_handler(signal.SIGTERM, serve.cancel)
self._loop.run_until_complete(serve)

async def _run_initial_coros(self):
Expand Down
11 changes: 10 additions & 1 deletion src/fastcs/logging/_logging.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import getpass
import os
import sys
from enum import StrEnum
from logging import LogRecord
from typing import TYPE_CHECKING, Any
Expand Down Expand Up @@ -30,8 +31,16 @@ def _configure_logger(
graylog_env_fields: GraylogEnvFields | None = None,
):
logger.remove()

try:
out = StdoutProxy(raw=True)
Comment thread
Tom-Willemsen marked this conversation as resolved.
Outdated
except Exception:
# e.g. prompt_toolkit.output.win32.NoConsoleScreenBufferError on windows
# But it isn't exported from prompt_toolkit in a cross-platform way.
out = sys.stdout
Comment thread
Tom-Willemsen marked this conversation as resolved.
Outdated

logger.add(
sink=StdoutProxy(raw=True), # type: ignore
sink=out, # type: ignore
colorize=True,
format=format_record,
level=level or "INFO",
Expand Down
Loading