curldl.util.log module#

Logging and tracing utilities for internal use

class curldl.util.log.Log[source]#

Bases: object

Logging and tracing utilities

classmethod setup_exception_logging_hooks() None[source]#

Assigns exception logging hooks: sys.excepthook(), sys.unraisablehook(), threading.excepthook().

classmethod trace_unhandled_exception(exc_type: Type[BaseException], exc: BaseException, trace_back: TracebackType | None) None[source]#

Top-level logger for unhandled exceptions, can be assigned to sys.excepthook(). The exception is logged at CRITICAL level, and traceback at DEBUG level.

Parameters:
classmethod trace_unraisable_exception(exc_info: sys.UnraisableHookArgs) None[source]#

Top-level logger for unraisable exceptions, can be assigned to sys.unraisablehook()

Parameters:

exc_info (sys.UnraisableHookArgs) – container with unraisable exception attributes

classmethod trace_thread_exception(exc_info: _ExceptHookArgs) None[source]#

Top-level logger for exceptions raised by threading.Thread.start()

Parameters:

exc_info (_ExceptHookArgs) – container thread exception attributes

classmethod trace_exception(exc: BaseException, msg: str) None[source]#

Logging helper to trace an exception. The exception is logged at ERROR level, ad traceback at DEBUG level.

Parameters:
  • exc (BaseException) – exception object

  • msg (str) – message to prepend when logging the exception

static _trace_exception_details(*, loglevel: int, exc: BaseException | None, exc_type: Type[BaseException], trace_back: TracebackType | None, msg: str | None = None) None[source]#

Generic logger for exception details

Parameters:
  • loglevel (int) – logging level for main message, auxiliary message is logged at DEBUG level

  • exc (BaseException | None) – exception object

  • exc_type (Type[BaseException]) – exception type (class)

  • trace_back (TracebackType | None) – exception traceback

  • msg (str | None) – extra exception message, prepended to main message if specified