Table of Contents

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

level
p_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

level
p_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_object
p_message

Returns

log_debug_throttled

func log_debug_throttled(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_trace_throttled

func log_trace_throttled(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_verbose_once

func log_verbose_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_debug_once

func log_debug_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_trace_once

func log_trace_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_warning_once

func log_warning_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_error_once

func log_error_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_message

Returns

log_info_once

func log_info_once(p_object: Object, p_message: String) -> void:

Parameters

p_object
p_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

Returns