remove severity

This commit is contained in:
Will McGugan
2022-09-15 15:34:07 +01:00
parent 5ef98aac90
commit e79377837b
8 changed files with 28 additions and 44 deletions

View File

@@ -165,6 +165,8 @@ class BasicApp(App, css_path="basic.css"):
def on_mount(self):
self.sub_title = "Widget demo"
self.log.warning("This is a warning!")
self.log.error("This is an error")
async def on_key(self, event) -> None:
await self.dispatch_key(event)

View File

@@ -11,7 +11,7 @@ __all__ = ["log", "panic"]
from ._context import active_app
from ._log import LogGroup, LogVerbosity, LogSeverity
from ._log import LogGroup, LogVerbosity
if TYPE_CHECKING:
from .app import App
@@ -38,12 +38,10 @@ class Logger:
log_callable: LogCallable | None,
group: LogGroup = LogGroup.INFO,
verbosity: LogVerbosity = LogVerbosity.NORMAL,
severity: LogSeverity = LogSeverity.NORMAL,
) -> None:
self._log = log_callable
self._group = group
self._verbosity = verbosity
self._severity = severity
@property
def log(self) -> LogCallable:
@@ -58,7 +56,6 @@ class Logger:
def __rich_repr__(self) -> rich.repr.Result:
yield self._group, LogGroup.INFO
yield self._verbosity, LogVerbosity.NORMAL
yield self._severity, LogSeverity.NORMAL
def __call__(self, *args: object, **kwargs) -> None:
caller = inspect.stack()[1]
@@ -66,7 +63,6 @@ class Logger:
self.log(
self._group,
self._verbosity,
self._severity,
*args,
_textual_calling_frame=caller,
**kwargs,
@@ -86,46 +82,41 @@ class Logger:
Logger: New logger.
"""
verbosity = LogVerbosity.HIGH if verbose else LogVerbosity.NORMAL
return Logger(self._log, self._group, verbosity, LogSeverity.NORMAL)
return Logger(self._log, self._group, verbosity)
@property
def verbose(self) -> Logger:
"""A verbose logger."""
return Logger(self._log, self._group, LogVerbosity.HIGH)
@property
def critical(self) -> Logger:
"""A critical logger."""
return Logger(self._log, self._group, self._verbosity, LogSeverity.CRITICAL)
@property
def event(self) -> Logger:
"""An event logger."""
"""Logs events."""
return Logger(self._log, LogGroup.EVENT)
@property
def debug(self) -> Logger:
"""A debug logger."""
"""Logs debug messages."""
return Logger(self._log, LogGroup.DEBUG)
@property
def info(self) -> Logger:
"""An info logger."""
"""Logs information."""
return Logger(self._log, LogGroup.INFO)
@property
def warning(self) -> Logger:
"""An info logger."""
"""Logs warnings."""
return Logger(self._log, LogGroup.WARNING)
@property
def error(self) -> Logger:
"""An error logger."""
"""Logs errors."""
return Logger(self._log, LogGroup.ERROR)
@property
def system(self) -> Logger:
"""A system logger."""
"""Logs system information."""
return Logger(self._log, LogGroup.SYSTEM)

View File

@@ -1,4 +1,4 @@
from enum import Enum, auto
from enum import Enum
class LogGroup(Enum):
@@ -19,10 +19,3 @@ class LogVerbosity(Enum):
NORMAL = 0
HIGH = 1
class LogSeverity(Enum):
"""Tags log messages as being more severe."""
NORMAL = 0
CRITICAL = 1 # Draws attention to the log message

View File

@@ -34,7 +34,6 @@ from rich.traceback import Traceback
from . import (
Logger,
LogGroup,
LogSeverity,
LogVerbosity,
actions,
events,
@@ -487,7 +486,6 @@ class App(Generic[ReturnType], DOMNode):
self,
group: LogGroup,
verbosity: LogVerbosity,
severity: LogSeverity,
*objects: Any,
_textual_calling_frame: inspect.FrameInfo | None = None,
**kwargs,
@@ -523,7 +521,6 @@ class App(Generic[ReturnType], DOMNode):
DevtoolsLog(objects, caller=_textual_calling_frame),
group,
verbosity,
severity,
)
else:
output = " ".join(str(arg) for arg in objects)
@@ -536,7 +533,6 @@ class App(Generic[ReturnType], DOMNode):
DevtoolsLog(output, caller=_textual_calling_frame),
group,
verbosity,
severity,
)
except Exception as error:
self._handle_exception(error)
@@ -1533,7 +1529,7 @@ class App(Generic[ReturnType], DOMNode):
def _on_terminal_supports_synchronized_output(
self, message: messages.TerminalSupportsSynchronizedOutput
) -> None:
log("[b green]SynchronizedOutput mode is supported")
log.system("[b green]SynchronizedOutput mode is supported")
self._sync_available = True
def _begin_update(self) -> None:

View File

@@ -13,7 +13,7 @@ from typing import Type, Any, NamedTuple
from rich.console import Console
from rich.segment import Segment
from .._log import LogGroup, LogVerbosity, LogSeverity
from .._log import LogGroup, LogVerbosity
class DevtoolsDependenciesMissingError(Exception):
@@ -218,7 +218,6 @@ class DevtoolsClient:
log: DevtoolsLog,
group: LogGroup = LogGroup.UNDEFINED,
verbosity: LogVerbosity = LogVerbosity.NORMAL,
severity: LogSeverity = LogSeverity.NORMAL,
) -> None:
"""Queue a log to be sent to the devtools server for display.
@@ -239,7 +238,6 @@ class DevtoolsClient:
"payload": {
"group": group.value,
"verbosity": verbosity.value,
"severity": severity.value,
"timestamp": int(time()),
"path": getattr(log.caller, "filename", ""),
"line_number": getattr(log.caller, "lineno", 0),

View File

@@ -4,7 +4,7 @@ import inspect
from typing import TYPE_CHECKING, cast
from .client import DevtoolsLog
from .._log import LogGroup, LogVerbosity, LogSeverity
from .._log import LogGroup, LogVerbosity
if TYPE_CHECKING:
from .devtools.client import DevtoolsClient
@@ -101,5 +101,4 @@ class StdoutRedirector:
DevtoolsLog(batched_log, caller=log_batch[-1].caller),
LogGroup.PRINT,
LogVerbosity.NORMAL,
LogSeverity.NORMAL,
)

View File

@@ -90,24 +90,29 @@ class DevConsoleLog:
file_and_line = escape(f"{Path(self.path).name}:{self.line_number}")
group = LogGroup(self.group).name
time = local_time.time()
message = Text(
f":warning-emoji: [{time}] {group}"
if self.severity > 0
else f"[{time}] {group}"
)
message.stylize("dim")
group_text = Text(group)
if group == "WARNING":
group_text.stylize("bold yellow reverse")
elif group == "ERROR":
group_text.stylize("bold red reverse")
else:
group_text.stylize("dim")
log_message = Text.assemble((f"[{time}]", "dim"), " ", group_text)
table.add_row(
message,
log_message,
Align.right(
Text(f"{file_and_line}", style=Style(dim=True, link=file_link))
),
)
yield table
if group == "PRINT":
yield Styled(Segments(self.segments), "bold")
else:
yield Segments(self.segments)
yield from self.segments
class DevConsoleNotice:

View File

@@ -59,7 +59,7 @@ class ScrollToRegion(Message, bubble=False):
@rich.repr.auto
class StylesUpdated(Message):
class StylesUpdated(Message, verbose=True):
def __init__(self, sender: MessagePump) -> None:
super().__init__(sender)