# 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.
