【问题标题】:Microsoft Azure CosmostDB Script Explorer console.logMicrosoft Azure CosmostDB 脚本资源管理器 console.log
【发布时间】:2017-08-17 17:59:00
【问题描述】:
我正在尝试使用 javascript 调试在 Microsoft Azure CosmosDB 'Script Explorer' 中编写的存储过程或脚本。我放了几条 console.log() 消息,以便我可以跟踪我的 proc,但我找不到这些日志消息的写入位置。
在脚本框架上,有一个文本框用于输入您的输入变量,在该文本框下方有一个显示响应的文本框。
在哪里可以找到我使用 console.log() 记录的日志消息?
谢谢。
【问题讨论】:
标签:
javascript
azure
console
azure-cosmosdb
【解决方案1】:
我找到了一个getScriptLog 方法来获取控制台。在 Azure Cosmos DB 存储过程official documentation 中记录 () 语句。
我在 Azure Cosmos DB 集合中创建了一个存储过程,如下所示:
不知道您目前使用的是什么语言的SDK,请参考下面的Java SDK示例代码,也可以在其他SDK中实现。
//query exist stored procedure in collection
StoredProcedure createdSproc =documentClient.readStoredProcedure("dbs/" + DATABASE_ID + "/colls/" + COLLECTION_ID +"/sprocs/"+"test", null).getResource();
//print query result
System.out.println(createdSproc.toString());
try {
//set Request options
RequestOptions options=new RequestOptions();
//enable script logging true
options.setScriptLoggingEnabled(true);
//execute stored procedure
StoredProcedureResponse spr = documentClient.executeStoredProcedure(createdSproc.getSelfLink(), options,
null);
System.out.println(spr.toString());
System.out.println("status code: "+spr.getStatusCode());
//print script log
System.out.println("Scrpit Log: "+ spr.getScriptLog());
System.out.println("Response body: "+spr.getResponseAsString());
} catch (DocumentClientException e) {
e.printStackTrace();
}
输出:
请注意,此代码是打印 console.log 所必需的:
options.setScriptLoggingEnabled(true);