Spec-Zone.ru › MySQL 9.2

7.4.2.3 Поля событий ошибок

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

  • Основное поле автоматически устанавливается для событий ошибок. Однако его присутствие в событии во время обработки событий не гарантируется, потому что основное поле, как и любой тип поля, может быть удалено фильтром логов. Если это произойдёт, поле не будет найдено последующей обработкой в рамках этого фильтра и компонентами, выполняющимися после фильтра (такими как стоки логов).

  • Необязательное поле обычно отсутствует, но может присутствовать для определённых типов событий. При наличии необязательное поле предоставляет дополнительную информацию о событии, если это уместно и доступно.

  • Поле, определяемое пользователем, — это любое поле с именем, которое не определено как основное или необязательное поле. Поле, определяемое пользователем, не существует до тех пор, пока его не создаст фильтр логов.

Как следует из предыдущего описания, любое данное поле может отсутствовать во время обработки события, либо потому, что оно изначально отсутствовало, либо было удалено фильтром. Для стоков логов эффект отсутствия поля специфичен для стока. Например, сток может опустить поле из сообщения журнала, указать, что поле отсутствует, или заменить его значением по умолчанию. В случае сомнений, проведите тестирование: используйте фильтр, который удаляет поле, а затем проверьте, как сток логов с этим полем взаимодействует.

В следующих разделах описываются основные и необязательные поля событий ошибок. Для отдельных компонентов фильтра логов могут быть дополнительные специфичные для фильтра соображения по этим полям, или фильтры могут добавлять поля, определяемые пользователем, которые здесь не перечислены. Для получения подробной информации см. документацию по конкретным фильтрам.

  • Основные поля событий ошибок

  • Необязательные поля событий ошибок

Основные поля событий ошибок

Эти поля событий ошибок являются основными полями:

  • time

    Отметка времени события с точностью до микросекунды.

  • msg

    Строка сообщения события.

  • prio

    Приоритет события, чтобы указать системное, ошибка, предупреждение или заметка/информационное событие. Это поле соответствует уровню серьезности в syslog. В следующей таблице показаны возможные уровни приоритета.

    Тип события Числовой приоритет
    Системное событие 0
    Ошибка 1
    Предупреждение 2
    Заметка/информационное событие 3

    Значение prio является числовым. В связи с этим событие ошибки может также включать необязательное поле label, представляющее приоритет в виде строки. Например, событие с значением prio равным 2 может иметь значение label равное 'Warning'.

    Компоненты фильтра могут включать или отбрасывать события ошибок на основе приоритета, за исключением системных событий, которые являются обязательными и не могут быть отброшены.

    В общем случае приоритеты сообщений определяются следующим образом:

    Ситуация или событие подлежат действиям?

    • Да: Ситуация или событие игнорируются?

      • Да: Приоритет — предупреждение.

      • Нет: Приоритет — ошибка.

    • Нет: Ситуация или событие обязательно?

      • Да: Приоритет — система.

      • Нет: Приоритет — заметка/информация.

  • err_code

    Код ошибки события в виде числа (например, 1022).

  • err_symbol

    Символ ошибки события в виде строки (например, ).

  • SQL_state

    Значение SQLSTATE события в виде строки (например, '23000').

  • subsystem

    Подсистема, в которой произошло событие. Возможные значения: InnoDB (движок хранения InnoDB), Repl (подсистема репликации), Server (в противном случае).

Необязательные поля событий ошибок

Необязательные поля событий ошибок делятся на следующие категории:

  • Дополнительная информация об ошибке, например, ошибка, сигнализированная операционной системой, или метка ошибки:

    • OS_errno

      Номер ошибки операционной системы.

    • OS_errmsg

      Сообщение об ошибке операционной системы.

    • label

      Метка, соответствующая значению prio, в виде строки.

  • Идентификация клиента, для которого произошло событие:

    • user

      Пользователь клиента.

    • host

      Хост клиента.

    • thread

      Идентификатор потока в mysqld, ответственного за создание события ошибки. Этот идентификатор указывает, какая часть сервера произвела событие и согласуется с общими сообщениями журнала запросов и журнала медленных запросов, которые включают идентификатор потока соединения.

    • query_id

      Идентификатор запроса.

  • Отладочная информация:

    • source_file

      Файл исходного кода, в котором произошло событие, без какого-либо ведущего пути.

    • source_line

      Строка в исходном файле, в которой произошло событие.

    • function

      Функция, в которой произошло событие.

    • component

      Компонент или плагин, в котором произошло событие.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/error-log-event-fields.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API