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.