trinity.utils.log module

A Ray compatible logging module with actor-scope logger support.

class trinity.utils.log.NewLineFormatter(fmt: str, datefmt: str | None = None)[source]

Bases: Formatter

Formatter that adds logging prefix to newlines to align multi-line messages.

__init__(fmt: str, datefmt: str | None = None)[source]

Initialize the formatter with specified format strings.

Initialize the formatter either with the specified format string, or a default as described above. Allow for specialized date formatting with the optional datefmt argument. If datefmt is omitted, you get an ISO8601-like (or RFC 3339-like) format.

Use a style parameter of ‘%’, ‘{’ or ‘$’ to specify that you want to use one of %-formatting, str.format() ({}) formatting or string.Template formatting in your format string.

Changed in version 3.2: Added the style parameter.

format(record: LogRecord) str[source]

Format the specified record as text.

The record’s attribute dictionary is used as the operand to a string formatting operation which yields the returned string. Before formatting the dictionary, a couple of preparatory steps are carried out. The message attribute of the record is computed using LogRecord.getMessage(). If the formatting string uses the time (as determined by a call to usesTime(), formatTime() is called to format the event time. If there is exception information, it is formatted using formatException() and appended to the message.

trinity.utils.log.get_logger(name: str | None = None, level: int | None = None, in_ray_actor: bool = False) Logger[source]

Get a logger instance, compatible with Ray Actor and standard usage.

Parameters:
  • name (Optional[str]) – The name of the logger. If None, uses ‘trinity’.

  • level (Optional[int]) – The logging level. If None, uses LOG_LEVEL_ENV_VAR or INFO.

  • in_ray_actor (bool) – Whether the logger is used within a Ray actor.

Returns:

Configured logger instance.

Return type:

logging.Logger