Logging

Logger

class pyscoundrel.logging.logger.GameLogger(log_file: Path | None = None, log_console: bool = False)[source]

Bases: object

Logger for game events.

log_event(event: GameEvent) None[source]

Log an event.

log(event_type: str, data: Dict[str, Any], state: Dict[str, Any] | None = None) None[source]

Create and log an event.

close() None[source]

Close log file.

Events

Event definitions for game logging.

class pyscoundrel.logging.events.GameEvent(event: str, timestamp: str, data: Dict[str, Any], state: Dict[str, Any] | None = None)[source]

Bases: object

Base class for all game events.

event: str
timestamp: str
data: Dict[str, Any]
state: Dict[str, Any] | None = None
to_dict() Dict[str, Any][source]

Convert to dictionary.

pyscoundrel.logging.events.create_event(event_type: str, data: Dict[str, Any], state: Dict[str, Any] | None = None) GameEvent[source]

Create a game event with timestamp.

State Serializer

Serialize game state for logging.

pyscoundrel.logging.state_serializer.serialize_card(card: Card) str[source]

Serialize a card to string.

pyscoundrel.logging.state_serializer.serialize_state(state: GameState) Dict[str, Any][source]

Serialize game state to dictionary.