---
title: "日志级别 - OceanBase 数据库 V4.3.0 | OceanBase 文档中心"
description: 日志级别 OceanBase 数据库日志划分了七个日志级别，含义如下表所示。表中的日志级别从高到低依次排列。 日志级别 含义 ERROR 严重错误。用于记录系统的故障信息，且必须进行故障排除，否则系统不可用。 WARN 警告。系统能继续提供服务，但行为可能不符合预期，或可能将有严重错误发生，需进行故障排除。 INFO…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.0

# 日志级别

更新时间：2026-04-10 11:58:35

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.0/zh-CN/600.manage/800.logging/200.log-level.md)  

OceanBase 数据库日志划分了七个日志级别，含义如下表所示。表中的日志级别从高到低依次排列。

| 日志级别 | 含义 |
| --- | --- |
| ERROR | 严重错误。用于记录系统的故障信息，且必须进行故障排除，否则系统不可用。 |
| WARN | 警告。系统能继续提供服务，但行为可能不符合预期，或可能将有严重错误发生，需进行故障排除。 |
| INFO | 提示。用于记录系统运行的当前状态，该信息为正常信息。 |
| EDIAG | Error Diagnosis, 协助故障排查的诊断信息，通常为 OceanBase 数据库程序的 Bug。 |
| WDIAG | Warning Diagnosis, 协助故障排查的诊断信息，预期内的错误，OceanBase 数据库能进行容错。 |
| TRACE | SQL 语句级调试信息，日志数与 SQL 复杂度相关与访问数据量无关。 |
| DEBUG | 调试信息。用于调试时更详细地了解系统运行状态，包括当前调用的函数名、参数、变量、函数调用返回值等。 |

#### 注意

本文介绍的查看和设置日志级别仅对普通日志文件（`election.log`、`observer.log`、`rootservice.log`）生效。对于 WARNING 日志文件（带有 `.wf` 后缀的日志文件），总是打印 WARN 及高于 WARN 日志级别的日志。

可通过 `SHOW PARAMETERS` 命令来查看当前的日志打印级别，日志的默认打印级别为 WDIAG 级别。

```shell
obclient> SHOW PARAMETERS LIKE '%syslog_level%';

```

返回结果如下：

```shell
+-------+----------+----------------+----------+--------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
| zone  | svr_type | svr_ip         | svr_port | name         | data_type | value | info                                                                                                                         | section  | scope   | source  | edit_level        |
+-------+----------+----------------+----------+--------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
| zone1 | observer | 172.xx.xxx.xxx |     2882 | syslog_level | STRING    | WDIAG | specifies the current level of logging. There are DEBUG, TRACE, WDIAG, EDIAG, INFO, WARN, ERROR, seven different log levels. | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
+-------+----------+----------------+----------+--------------+-----------+-------+------------------------------------------------------------------------------------------------------------------------------+----------+---------+---------+-------------------+
1 row in set

```

OceanBase 数据库支持设置日志级别，从而获取更精确的目标日志。可以从三个级别设置：系统级别、Session 级别、语句级别，打印日志时，优先级从高到低分别为语句、Session、系统。OceanBase 数据库也支持按模块设置。

- 系统级别：作用范围为整个集群所有 OBServer。仅支持在系统租户下配置。
 - Session 级别：作用范围为当前租户在集群内所在的 OBServer。
     - 设置 Session 级别的变量仅对当前 Session 有效，对其他 Session 无效。
     - 设置 Global 级别的变量对当前 Session 无效，需要重新登录建立新的 Session 才会生效。
 - 语句级别：作用范围为当前执行语句所在的 OBServer。只在 SQL 语句执行期间生效。

以下为通过系统级别、Session 级别和语句级别三个级别对日志打印级别进行设置的具体方法。

- 通过系统级别设置日志模块的级别。

  可通过如下两种方式进行设置：

     - 通过系统配置项 `syslog_level` 设置系统级别的日志级别。例如：设置 SQL 模块的日志级别为 `debug`，设置 COMMON 模块的日志级别为 `error`。

      ```shell
      obclient > ALTER SYSTEM SET syslog_level='sql.*:debug, common.*:error';

      ```
     - 通过操作系统 `bash kill -41/42 $pid` 命令设置系统级别的日志级别。

      `kill -41` 用于降低程序日志的级别。例如：当前程序日志的级别为 INFO，执行 `kill -41` 后，则级别降低至 TRACE。`kill -42` 用于升高程序日志的级别。例如：当前程序日志的级别为 INFO，执行 `kill -42` 后，则级别升高至 WARN。

      推荐通过系统配置项 `syslog_level` 设置系统级别的日志级别。因为 OceanBase 数据库在刷新配置时，会导入 `config` 文件（OceanBase 安装目录下的 `etc/observer.config.bin`）中配置的 `syslog_level`，导致 kill 方式失效。

      #### 注意

      建议仅在 SQL 客户端登录不了 OceanBase 集群的情况下使用 `kill -41/kill -42` 调节日志级别。
 - 通过 Session 级别设置日志模块的级别。

  通过系统变量 `ob_log_level` 设置 Session 级别的日志级别。例如：设置 SQL 模块的日志级别为 `debug`，设置 COMMON 模块的日志级别为 `info`。

  ```shell
  obclient > SET @@ob_log_level='sql.*:debug, common.*:info';

  ```
 - 通过语句级别设置日志模块的级别。

  可以通过 Hint 设置语句级别的日志级别。例如：设置 SQL 模块的日志级别为 `debug`，设置 COMMON 模块的日志级别为 `info`。更多 Hint 语句相关的介绍，请参见 [Optimizer Hint](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642657)。

  ```shell
  obclient > SELECT /*+log_level('sql.*:debug, common.*:info')*/ * FROM t;

  ```

  #### 说明

  如果使用 MySQL 的 C 客户端执行带 Hint 的 SQL 语句，需要使用 `-c` 选项登录，否则 MySQL 客户端会将 Hint 作为注释从用户 SQL 语句中去除，导致系统无法收到用户 Hint。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
