Logger

Eredita: RefCounted < Object

Logger personalizzato per ricevere messaggi dal flusso interno di errori/avvisi.

Descrizione

Logger personalizzato per ricevere messaggi dal flusso interno di errori/avvisi. I logger si registrano tramite OS.add_logger().

Metodi

void

_log_error(function: String, file: String, line: int, code: String, rationale: String, editor_notify: bool, error_type: int, script_backtraces: Array[ScriptBacktrace]) virtual

void

_log_message(message: String, error: bool) virtual


Enumerazioni

enum ErrorType: 🔗

ErrorType ERROR_TYPE_ERROR = 0

Il messaggio ricevuto è un errore.

ErrorType ERROR_TYPE_WARNING = 1

Il messaggio ricevuto è un avviso.

ErrorType ERROR_TYPE_SCRIPT = 2

Il messaggio ricevuto è un errore di script.

ErrorType ERROR_TYPE_SHADER = 3

Il messaggio ricevuto è un errore di shader.


Descrizioni dei metodi

void _log_error(function: String, file: String, line: int, code: String, rationale: String, editor_notify: bool, error_type: int, script_backtraces: Array[ScriptBacktrace]) virtual 🔗

Chiamato quando un errore viene registrato. L'errore fornisce la funzione (function), il file (file) e la riga (line) da cui ha avuto origine, nonché il codice (code) che ha generato l'errore o una motivazione (rationale).

Il tipo di errore, fornito da error_type, è descritto nell'enumerazione ErrorType.

Inoltre, script_backtraces fornisce backtrace per ciascuno dei linguaggi di script. Normalmente, questi conterranno stack frame solo nelle build dell'editor e nelle build di debug. Per abilitarli anche per le build di rilascio, è necessario abilitare ProjectSettings.debug/settings/gdscript/always_track_call_stacks.

Attenzione: Questa funzione si può chiamare da più thread diversi, quindi potrebbe essere necessario eseguire i propri blocchi.

Nota: script_backtraces non conterrà alcuna variabile catturata, a causa del suo costo proibitivo. Per ottenerle, sarà necessario catturare personalmente i backtrace, dall'interno dei metodi virtuali del Logger, attraverso Engine.capture_script_backtraces().


void _log_message(message: String, error: bool) virtual 🔗

Chiamato quando un messaggio viene registrato. Se error è true, allora questo messaggio era destinato per stderr.

Attenzione: Questa funzione si può chiamare da più thread diversi, quindi potrebbe essere necessario eseguire i propri blocchi.