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.

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_file_name()[source]

Retrieve the log file name.

Returns:

The log file name.

Return type:

str

get_last_error()[source]

Retrieve the last logged error entry.

Returns:

The last error log entry, 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, stack, message)[source]

Bases: Interface

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

Parameters:
  • type (LogType)

  • stack (str)

  • message (str)

__init__(type, stack, message)[source]

Initialize a log entry.

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

  • stack (str) – Stack 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

class ioiocore.logging.LogType(value)[source]

Bases: Enum

Enumeration of log message types.

ERROR = 'ERROR'
INFO = 'INFO'
WARNING = 'WARNING'