// this function generate all reference loggers in all extracted apis public static async Task <Dictionary <string, object> > GetAllReferencedLoggers(List <string> apisToExtract, Extractor exc) { Dictionary <string, object> ApiLoggerId = new Dictionary <string, object>(); APIExtractor apiExc = new APIExtractor(new FileWriter()); string serviceDiagnostics = await apiExc.GetServiceDiagnosticsAsync(exc.sourceApimName, exc.resourceGroup); JObject oServiceDiagnostics = JObject.Parse(serviceDiagnostics); Dictionary <string, string> serviceloggerIds = new Dictionary <string, string>(); foreach (var serviceDiagnostic in oServiceDiagnostics["value"]) { string diagnosticName = ((JValue)serviceDiagnostic["name"]).Value.ToString(); string loggerId = ((JValue)serviceDiagnostic["properties"]["loggerId"]).Value.ToString(); ApiLoggerId.Add(ExtractorUtils.GenValidParamName(diagnosticName, ParameterPrefix.Diagnostic), loggerId); } foreach (string curApiName in apisToExtract) { Dictionary <string, string> loggerIds = new Dictionary <string, string>(); string diagnostics = await apiExc.GetAPIDiagnosticsAsync(exc.sourceApimName, exc.resourceGroup, curApiName); JObject oDiagnostics = JObject.Parse(diagnostics); foreach (var diagnostic in oDiagnostics["value"]) { string diagnosticName = ((JValue)diagnostic["name"]).Value.ToString(); string loggerId = ((JValue)diagnostic["properties"]["loggerId"]).Value.ToString(); loggerIds.Add(ExtractorUtils.GenValidParamName(diagnosticName, ParameterPrefix.Diagnostic), loggerId); } if (loggerIds.Count != 0) { ApiLoggerId.Add(ExtractorUtils.GenValidParamName(curApiName, ParameterPrefix.Api), loggerIds); } } return(ApiLoggerId); }