Logger

Наследует: RefCounted < Object

Пользовательский журнал для получения сообщений из внутренней ошибки/предупреждения.

Описание

Пользовательский журнал для получения сообщений из внутренних ошибки/предупреждения. Регистраторы регистрируются через OS.add_logger().

Методы

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


Перечисления

enum ErrorType: 🔗

ErrorType ERROR_TYPE_ERROR = 0

Полученное сообщение является ошибкой.

ErrorType ERROR_TYPE_WARNING = 1

Полученное сообщение является предупреждением.

ErrorType ERROR_TYPE_SCRIPT = 2

Полученное сообщение является ошибкой скрипта.

ErrorType ERROR_TYPE_SHADER = 3

Полученное сообщение является ошибкой шейдера.


Описания метода

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

Вызывается при регистрации ошибки. Ошибка предоставляет function, file и line, из которых она возникла, а также либо code, который сгенерировал ошибку, либо reasone.

Тип ошибки, предоставляемый error_type, описан в перечислении ErrorType.

Кроме того, script_backtraces предоставляет обратные трассировки для каждого из языков скриптов. Они будут содержать только кадры стека в сборках редактора и отладочных сборках по умолчанию. Чтобы включить их и для сборок выпуска, вам необходимо включить ProjectSettings.debug/settings/gdscript/always_track_call_stacks.

Предупреждение: Эта функция может вызываться из нескольких разных потоков, поэтому вам может потребоваться выполнить собственную блокировку.

Примечание: script_backtraces не будет содержать никаких захваченных переменных из-за его непомерно высокой стоимости. Чтобы получить их, вам нужно будет захватить обратные трассировки самостоятельно, из виртуальных методов Logger, используя Engine.capture_script_backtraces().


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

Вызывается при регистрации сообщения. Если error равно true, то это сообщение должно было быть отправлено в stderr.

Предупреждение: Эта функция может вызываться из нескольких разных потоков, поэтому вам может потребоваться выполнить собственную блокировку.