You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为慢查询启用DEBUG日志且不输出其他额外调试信息

当前日志级别设置为INFO,我希望对配置了slow_query_log_timeout_in_ms参数的慢运行查询开启日志记录。如果将日志级别调整为DEBUG,虽然会记录运行时长超过slow_query_log_timeout_in_ms的查询,但同时也会生成大量其他调试信息。我不需要除慢查询之外的任何调试内容,请问是否可以仅启用慢查询的DEBUG级别日志,而不输出其他调试信息?
原环境当前日志级别查询结果:

[cassandra@localhost ~]$ nodetool getlogginglevels
Logger Name                                        Log Level
...
org.apache.cassandra                                    INFO

可以单独为慢查询开启DEBUG级别的日志,不需要调整全局org.apache.cassandra的日志级别,也不会生成其他多余的调试内容,操作方法如下:

  • 临时生效(节点重启后配置会重置)
    执行如下nodetool命令单独修改慢查询对应logger的日志级别:
    nodetool setlogginglevel org.apache.cassandra.db.SlowQueryLogger DEBUG
    
    执行后可以通过nodetool getlogginglevels确认配置生效,其他模块日志级别保持原有INFO不变。
  • 永久生效(节点重启后配置依然保留)
    打开Cassandra配置目录下的logback.xml文件,添加如下配置段:
    <logger name="org.apache.cassandra.db.SlowQueryLogger" level="DEBUG" additivity="false">
      <!-- 可自定义appender将慢查询日志输出到独立文件,方便后续检索 -->
      <appender-ref ref="ASYNCDEBUGLOG"/>
    </logger>
    
    配置中的additivity="false"可避免慢查询日志同时写入根日志文件,减少常规日志的冗余内容。修改保存后无需重启节点,logback会自动加载新配置生效。

以上配置完成后,只有运行时长超过slow_query_log_timeout_in_ms参数阈值的慢查询会被记录,其余Cassandra模块的日志依然保持INFO级别输出,不会产生多余的调试信息。

内容的提问来源于stack exchange,提问作者nmakb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 04:06:05