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.