Logging

Logger

class ioiocore.logging.Logger(directory=None)[source]

Bases: Interface

Logger interface for writing and retrieving log entries.

Parameters:

directory (str | None)

__init__(directory=None)[source]

Initialize a logger instance.

Parameters:

directory (Optional[str], optional) – Directory for log storage, by default None.

property file_name: str

Retrieve the log file name.

Returns:

The log file name.

Return type:

str

flush()[source]

Flush the log buffer.

get_all()[source]

Retrieve all log entries.

Returns:

A list of all log entries.

Return type:

list

get_by_type(type)[source]

Retrieve log entries of a specific type.

Parameters:

type (LogType) – The log type to filter by.

Returns:

A list of matching log entries.

Return type:

list

get_last(type, opaque=False)[source]

Retrieve the last logged entry of a specific type.

Parameters:
  • type (LogType) – The log type to filter by.

  • opaque (bool, optional) – Whether to return last log entry only once (returning None by repeating).

Returns:

The last log entry of the specified type, if available.

Return type:

Optional[LogEntry]

has_entries(type=None)[source]

Check if there are log entries of a specific type.

Parameters:

type (LogType, optional) – The log type to check, by default None.

Returns:

True if there are matching log entries, False otherwise.

Return type:

bool

write(type, message)[source]

Write a log entry.

Parameters:
  • type (LogType) – Type of the log entry.

  • message (str) – Log message.

Returns:

The created log entry.

Return type:

LogEntry

LogEntry

class ioiocore.logging.LogEntry(type, source, message)[source]

Bases: Interface

Represents a log entry containing type, source trace, and message.

Parameters:
  • type (LogTypes)

  • source (dict)

  • message (str)

__init__(type, source, message)[source]

Initialize a log entry.

Parameters:
  • type (LogType) – Type of the log entry.

  • source (str) – source trace information.

  • message (str) – Log message.

keys()[source]

Retrieve all keys in the log entry.

Returns:

An iterable of keys.

Return type:

Iterable

to_formatted_string()[source]

Retrieve a formatted string representation of the log entry.

Returns:

Formatted log entry string.

Return type:

str

values()[source]

Retrieve all values in the log entry.

Returns:

An iterable of values.

Return type:

Iterable

LogType