Files
core2026/docs/architecture/legacy-engine-logging.md

1.2 KiB

Legacy Logging and Versioning

This document summarizes logging utilities and version helpers. References include legacy/hwe/sammo/ActionLogger.php, legacy/hwe/sammo/UserLogger.php, and legacy/hwe/sammo/VersionGitDynamic.php.

ActionLogger

ActionLogger aggregates logs for a general, nation, and global context:

  • Buffers multiple log channels:
    • General history/action/battle logs
    • National history logs
    • Global history/action logs
  • Supports formatted prefixes (PLAIN, YEAR_MONTH, NOTICE, etc.).
  • flush() emits buffered logs via helper functions (pushGeneralHistoryLog, pushGlobalHistoryLog, etc.).

It is used throughout command execution, battle resolution, and event actions.

UserLogger

UserLogger writes user-scoped logs to user_record:

  • Used for inheritance point spending/awards and other user-level events.
  • push($text, $type) buffers entries; flush() inserts into DB with {user_id, server_id, year, month, date, text}.

Version Helpers

VersionGitDynamic exposes runtime Git metadata:

  • getVersion() calls git describe --long --tags and git branch.
  • getHash() calls git rev-parse HEAD.

These are used for diagnostic display and do not affect gameplay logic.