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.