我正在尝试使用javascript调试使用Microsoft Azure CosmosDB“Script Explorer”编写的存储过程或脚本。我放了几个console.log()消息,以便我可以跟踪我的proc,但我找不到这些日志消息的写入位置。
在脚本框架上,有一个输入变量的文本框,下面是一个显示响应的文本框。
我在哪里可以找到使用console.log()记录的日志消息?
感谢。
答案 0 :(得分:1)
我找到了 getScriptLog 方法来获取控制台。 Azure Cosmos DB存储过程official documentation中的Log()语句。
我在Azure Cosmos DB Collection中创建了一个存储过程,如下所示:
我不知道您当前使用的是哪种语言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(真);