public FileShareTelemetryWriter(string fileShareDirectory, TelemetryCollection.LogErrorDelegate logErrorDelegate) { if (!Directory.Exists(fileShareDirectory)) { Directory.CreateDirectory(fileShareDirectory); } this.filePath = Path.Combine(fileShareDirectory, "tfile.json"); this.logErrorDelegate = logErrorDelegate; }
internal static ITelemetryWriter CreateTelemetryWriter( ConfigReader configReader, string clusterId, string nodeName, TelemetryCollection.LogErrorDelegate logErrorDelegate) { #if !DotNetCoreClrLinux bool createFileShareWriter = false; #endif FabricEvents.ExtensionsEvents traceSource = new FabricEvents.ExtensionsEvents(FabricEvents.Tasks.FabricDCA); traceSource.WriteInfo("TelemetryWriterFactory", "Entering TelemetryWriterFactory"); #if !DotNetCoreClrLinux string fabricLogsShare; bool isFabricLogsLocalFolder; if (FileShareCommon.GetDestinationPath( traceSource, string.Concat(ConfigReader.FileShareWinFabSectionName), configReader, ConfigReader.FileShareWinFabSectionName, out isFabricLogsLocalFolder, out fabricLogsShare)) { traceSource.WriteInfo("TelemetryWriterFactory", "isFabricLogsLocalFolder: {0}, fabricLogsShare: {1}", isFabricLogsLocalFolder, fabricLogsShare); string customizedGoalStateFileUrl = configReader.GetUnencryptedConfigValue( ConfigReader.UpgradeOrchestrationServiceConfigSectionName, ConfigReader.GoalStateFileUrlParamName, string.Empty); if (customizedGoalStateFileUrl != string.Empty) { createFileShareWriter = true; } } if (createFileShareWriter) { string fileShareDirectory = Path.Combine(Path.GetDirectoryName(fabricLogsShare), "fabrictelemetries-" + clusterId, nodeName); traceSource.WriteInfo("TelemetryWriterFactory", "return fileShare {0}", fileShareDirectory); return(new FileShareTelemetryWriter(fileShareDirectory, logErrorDelegate)); } else #endif { traceSource.WriteInfo("TelemetryWriterFactory", "return appinsight"); return(new AppInsightsTelemetryWriter()); } }