Skip to content

Add per-target log level configuration via settings.toml#30

Merged
MBurchard merged 1 commit intomainfrom
feature/log-level-config
Mar 30, 2026
Merged

Add per-target log level configuration via settings.toml#30
MBurchard merged 1 commit intomainfrom
feature/log-level-config

Conversation

@MBurchard
Copy link
Copy Markdown
Owner

  • New [log_levels.game] and [log_levels.app] sections in settings.toml allow per-target log level overrides for the game mod and Daystrom backend
  • Default log level changed from Trace/Debug to Info for both mod and backend, reducing log noise for end users
  • Log values in PlayerPrefs hooks truncated to 80 characters with ellipsis, using floor_char_boundary for safe UTF-8 handling
  • Mod logger: OnceLock-based target level map, checked in enabled() before any formatting. Global max level dynamically raised when any target override exceeds Info
  • Backend logger: per-target overrides fed into fern's level_for() builder at startup
  • Shared parse_level_filter() in both crates, case-insensitive (Info/INFO/info all work)
  • Added docs/log-levels.md with all available targets for both game and app scopes
  • Tests for parse_level_filter, TOML deserialization, and truncate_value including multibyte UTF-8 edge case

- New `[log_levels.game]` and `[log_levels.app]` sections in settings.toml allow per-target
  log level overrides for the game mod and Daystrom backend
- Default log level changed from Trace/Debug to Info for both mod and backend, reducing log
  noise for end users
- Log values in PlayerPrefs hooks truncated to 80 characters with ellipsis, using
  floor_char_boundary for safe UTF-8 handling
- Mod logger: OnceLock-based target level map, checked in enabled() before any formatting.
  Global max level dynamically raised when any target override exceeds Info
- Backend logger: per-target overrides fed into fern's level_for() builder at startup
- Shared parse_level_filter() in both crates, case-insensitive (Info/INFO/info all work)
- Added docs/log-levels.md with all available targets for both game and app scopes
- Tests for parse_level_filter, TOML deserialization, and truncate_value including multibyte
  UTF-8 edge case
@MBurchard MBurchard merged commit b3f3aa5 into main Mar 30, 2026
1 check passed
@MBurchard MBurchard deleted the feature/log-level-config branch March 30, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant