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.
Предупреждение: Эта функция может вызываться из нескольких разных потоков, поэтому вам может потребоваться выполнить собственную блокировку.