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

如何为Azure Cosmos Client SDK (NoSQL)启用请求控制台日志

为Azure Cosmos Client SDK (NoSQL)启用控制台日志的方法

以下是主流语言SDK的配置方式,可输出发送至服务器的所有请求及完整查询语句:

.NET SDK

在应用启动时配置日志过滤,将Microsoft.Azure.Cosmos命名空间的日志级别设为Debug或Trace,并添加控制台输出:

var builder = WebApplication.CreateBuilder(args);

// 配置Cosmos日志输出到控制台
builder.Logging.AddFilter("Microsoft.Azure.Cosmos", LogLevel.Debug)
               .AddConsole();

// 注册Cosmos客户端
builder.Services.AddCosmosClient(builder.Configuration["CosmosConnectionString"]);

var app = builder.Build();
// 后续应用逻辑...
  • Debug级别会输出完整查询语句、请求URI、响应状态等核心信息
  • Trace级别会进一步输出请求/响应的完整内容(含敏感数据风险,生产环境禁用)

Java SDK

通过Logback(或SLF4J兼容的日志框架)配置,修改logback.xml文件:

<configuration>
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 开启Cosmos SDK的控制台日志 -->
    <logger name="com.azure.cosmos" level="DEBUG" additivity="false">
        <appender-ref ref="CONSOLE" />
    </logger>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

配置后控制台会打印查询语句、请求参数、响应详情等内容,如需更细粒度日志可将级别改为TRACE。

Python SDK

使用Python标准logging模块配置,指定azure.cosmos命名空间的日志级别:

import logging
import sys
from azure.cosmos import CosmosClient

# 配置控制台日志输出
logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s %(levelname)s %(name)s %(message)s",
    handlers=[logging.StreamHandler(sys.stdout)]
)

# 初始化Cosmos客户端
client = CosmosClient("<你的连接字符串>")
  • DEBUG级别会输出完整查询语句及请求元数据
  • 生产环境建议将日志级别调至INFO或更低,避免性能损耗与敏感信息泄露

通用注意事项

  • 高日志级别(如Trace)会输出大量细节,包括请求/响应体,仅适合调试场景
  • 不同版本SDK的日志命名空间可能略有差异,需对应调整
  • 日志输出中可能包含密钥、用户数据等敏感内容,调试完成后需及时关闭或调整级别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:57:43