Class GBLogger
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
Centralized logging facility for the Grid Building plugin.\n\nUSAGE: Consider dropping log level on the GBDebugSettings if you are getting too many messages\n\nResponsibilities: - Provide contextual logging (verbose, error, warning) integrated with plugin debug settings. - Support dependency-injected configuration and throttled verbose output.
class GBLogger extends GBInjectable
GBLogger
Fields
VERBOSE_MIN_INTERVAL_MS
const VERBOSE_MIN_INTERVAL_MS = 250
LogLevel
Shorthand alias for levels to reduce verbosity at callsites
const LogLevel = GBDebugSettings.LogLevel
Properties
debug_settings
var debug_settings = container.get_debug_settings()
logger
var logger = GBLogger.new(debug_settings)
issues
var issues: Array[String] = []
stack
var stack = get_stack()
caller
var caller = stack[stack.size() - 1]
source
var source: String = caller.get("source", "")
function
var function: String = caller.get("function", "")
composite
var composite: String = "%s::%s" % [caller_id, key]
now_ms
var now_ms: int = Time.get_ticks_msec()
last_ms
var last_ms: int = _verbose_last_ts.get(composite, -1)
composite
var composite: String = "%s::%s" % [caller_id, key]
stack
var stack = get_stack()
caller
var caller = stack[stack.size() - 1]
source
var source: String = caller.get("source", "")
function
var function: String = caller.get("function", "")
line
var line: int = caller.get("line", 0)
file_name
var file_name: String = source.get_file()
caller
var caller = stack[stack.size() - 1]
source
var source: String = caller.get("source", "")
function
var function: String = caller.get("function", "")
line
var line: int = caller.get("line", 0)
file_name
var file_name: String = source.get_file()
context
var context: String = _get_context_from_stack()
msg
var msg: String = _materialize_message(p_message)
issues
var issues: Array[String] = []
c
var c: Callable = p_provider
result
var result = c.call()
msg_formatted
var msg_formatted: String = "[%s] %s" % [context, message]
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
caller_id
var caller_id = _get_caller_id()
key
var key = str(p_object.get_instance_id()) if p_object else "null_object"
Methods
create_with_injection
static func create_with_injection(container: PlacementContainer) -> GBLogger:
Parameters
container
Returns
set_log_sink
func set_log_sink(p_sink: Callable) -> void:
Parameters
p_sink
Returns
log_at
func log_at(level: LogLevel, p_message) -> void:
Parameters
levelp_message
Returns
get_runtime_issues
func get_runtime_issues() -> Array[String]:
Returns
resolve_gb_dependencies
func resolve_gb_dependencies(p_config: PlacementContainer) -> bool:
Parameters
p_config
Returns
is_level_enabled
func is_level_enabled(level: LogLevel) -> bool:
Parameters
level
Returns
is_debug_enabled
func is_debug_enabled() -> bool:
Returns
is_verbose_enabled
func is_verbose_enabled() -> bool:
Returns
is_trace_enabled
func is_trace_enabled() -> bool:
Returns
log
func log(level: LogLevel, p_message) -> void:
Parameters
levelp_message
Returns
log_debug_lazy
func log_debug_lazy(p_provider: Callable) -> void:
Parameters
p_provider
Returns
log_warning
func log_warning(p_issue: String) -> void:
Parameters
p_issue
Returns
log_info
func log_info(p_message: String) -> void:
Parameters
p_message
Returns
log_error
func log_error(p_issue: String) -> void:
Parameters
p_issue
Returns
log_warnings
func log_warnings(p_issues: Array[String]) -> void:
Parameters
p_issues
Returns
log_issues
func log_issues(p_issues: Array[String]) -> void:
Parameters
p_issues
Returns
log_verbose
func log_verbose(p_message: String) -> void:
Parameters
p_message
Returns
log_trace
func log_trace(p_message: String) -> void:
Parameters
p_message
Returns
log_debug
func log_debug(p_message: String) -> void:
Parameters
p_message
Returns
log_verbose_throttled
func log_verbose_throttled(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_debug_throttled
func log_debug_throttled(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_trace_throttled
func log_trace_throttled(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_verbose_once
func log_verbose_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_debug_once
func log_debug_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_trace_once
func log_trace_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_warning_once
func log_warning_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_error_once
func log_error_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
log_info_once
func log_info_once(p_object: Object, p_message: String) -> void:
Parameters
p_objectp_message
Returns
get_debug_settings
func get_debug_settings() -> GBDebugSettings:
Returns
set_log_level
func set_log_level(p_level: LogLevel) -> void:
Parameters
p_level