main commit
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-10-16 16:30:25 +09:00
parent 91c7e04474
commit 537e7b363f
1146 changed files with 45926 additions and 77196 deletions

View File

@@ -24,6 +24,7 @@ from zope.interface import implementer
from ._base import BoundLoggerBase
from ._config import _BUILTIN_DEFAULT_PROCESSORS
from ._utils import until_not_interrupted
from .processors import JSONRenderer as GenericJSONRenderer
from .typing import EventDict, WrappedLogger
@@ -203,7 +204,8 @@ class PlainFileLogObserver:
Great to just print JSON to stdout where you catch it with something like
runit.
Args:
Arguments:
file: File to print to.
.. versionadded:: 0.2.0
@@ -214,11 +216,12 @@ class PlainFileLogObserver:
self._flush = file.flush
def __call__(self, eventDict: EventDict) -> None:
self._write(
until_not_interrupted(
self._write,
textFromEventDict(eventDict) # type: ignore[arg-type, operator]
+ "\n",
)
self._flush()
until_not_interrupted(self._flush)
@implementer(ILogObserver)
@@ -226,7 +229,8 @@ class JSONLogObserverWrapper:
"""
Wrap a log *observer* and render non-`JSONRenderer` entries to JSON.
Args:
Arguments:
observer (ILogObserver):
Twisted log observer to wrap. For example
:class:`PlainFileObserver` or Twisted's stock `FileLogObserver
@@ -289,7 +293,8 @@ class EventAdapter:
<https://docs.twisted.org/en/stable/api/twisted.python.log.html#err>`_
behave as expected.
Args:
Arguments:
dictRenderer:
Renderer that is used for the actual log message. Please note that
structlog comes with a dedicated `JSONRenderer`.
@@ -301,9 +306,8 @@ class EventAdapter:
def __init__(
self,
dictRenderer: (
Callable[[WrappedLogger, str, EventDict], str] | None
) = None,
dictRenderer: Callable[[WrappedLogger, str, EventDict], str]
| None = None,
) -> None:
self._dictRenderer = dictRenderer or _BUILTIN_DEFAULT_PROCESSORS[-1]