Centralized logging for the Grid Placement plugin. Prefer the static singleton API; it needs no null checks: PlacementLogger.initialize(debug_settings) # once at plugin init PlacementLogger.push_scope(custom_logger) # optional scoped override PlacementLogger.pop_scope() PlacementLogger.debug("msg") PlacementLogger.warn("msg") PlacementLogger.event(PlacementLogger.LogLevel.ERROR, "placement_rejected", {"reason": "..."}) The first initialize() call creates the production root; later calls reuse it while it is alive. Use set_instance() to replace that root. For bounded overrides (one test, one sub-region), use push_scope() / pop_scope(). Tests push a muted or spy logger in before_test and pop it in after_test. The instance API (logger.log_debug("msg")) remains for compatibility. event() emits one machine-readable line per operation: GP|||attempt_id=...|reason=.... Every key/value pair is separated by a pipe, so a console log can be grepped or parsed without a custom reader. push_context() / pop_context() add the correlation fields (attempt id, world id, session id) to every line emitted inside the scope.
Source: addons/grid_placement/logging/placement_logger.gd
Syntax
class PlacementLogger extends RefCountedMembers
| Name | Kind | Summary |
|---|---|---|
EVENT_PREFIX | Field | The prefix that marks a structured event line. |
LEVEL_NAMES | Field | Level names used in the structured event line. |
push_context | Method | |
pop_context | Method | |
correlation | Method | |
clear_context | Method | |
correlation_suffix | Method | |
push_scope | Method | |
pop_scope | Method | |
set_instance | Method | |
clear_instance | Method | |
initialize | Method | |
LogLevel | Field | Shorthand level alias for callsites. |
debug | Method | |
trace | Method | |
trace_output_enabled | Method | |
info | Method | |
warn | Method | |
error | Method | |
verbose | Method | |
event | Method | |
set_log_sink | Method | |
log_at | Method | |
log_event | Method | |
get_runtime_issues | Method | |
resolve_placement_dependencies | Method | |
is_level_enabled | Method | |
is_debug_enabled | Method | |
is_verbose_enabled | Method | |
is_trace_enabled | Method | |
log_warning | Method | |
log_info | Method | |
log_error | Method | |
log_verbose | Method | |
log_trace | Method | |
log_debug | Method | |
get_debug_settings | Method |