---
title: github-fill
description: 设置日志打印级别 在运维过程中，运维工程师可以通过设置日志模块的日志打印级别，从而获取更精确的目标日志。 对于 observer.log 、 election.log 和 rootservice.log 日志文件，日志打印级别可通过系统级别、Session 级别和语句级别三个级别进行设置。打印日志时，优先级从高到低分…
---
切换语言

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

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

# 设置日志打印级别

更新时间：2023-08-24 11:30:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/700.reference/200.administrator-guide/200.basic-database-management/900.manage-logs/200.log-print-level/200.set-log-print-level.md)  

在运维过程中，运维工程师可以通过设置日志模块的日志打印级别，从而获取更精确的目标日志。

对于 `observer.log` 、`election.log` 和 `rootservice.log` 日志文件，日志打印级别可通过系统级别、Session 级别和语句级别三个级别进行设置。打印日志时，优先级从高到低分依次为语句级别、Session 级别、系统级别。

- 系统级别：作用范围为整个集群所有 OBServer。仅支持在系统租户下配置。
 - Session 级别：作用范围为当前租户在集群内所在的 OBServer。

     - 设置 Session 级别的变量仅对当前 Session 有效，对其他 Session 无效。
     - 设置 Global 级别的变量对当前 Session 无效，需要重新登录建立新的 Session 才会生效。
 - 语句级别：作用范围为当前执行语句所在的 OBServer。只在 SQL 语句执行期间生效。

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

- 通过系统级别设置日志模块的级别。可通过如下两种方式进行设置：

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

      ```sql
      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 时，会导入 config 中配置的 `ob_log_level` ，导致 kill 方式失效。
 - 通过 Session 级别设置日志模块的级别。

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

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

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

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

  ```sql
  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) 咨询热线
