Windows Azure Diagnostotics не работает в облаке
Я использую Azure SDK 1.4 и пытаюсь настроить диагностику для моей веб-роли. Вот что я сделал в методе onstart:
string wadConnectionString = "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString";
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue(wadConnectionString));
RoleInstanceDiagnosticManager roleInstanceDiagnosticManager = storageAccount.CreateRoleInstanceDiagnosticManager(RoleEnvironment.DeploymentId,
RoleEnvironment.CurrentRoleInstance.Role.Name, RoleEnvironment.CurrentRoleInstance.Id);
DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration();
int loggingInterval = Int32.Parse(RoleEnvironment.GetConfigurationSettingValue("loggingInterval"));
config.Logs.ScheduledTransferPeriod = System.TimeSpan.FromMinutes(loggingInterval);
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;
roleInstanceDiagnosticManager.SetCurrentConfiguration(config);
// For information on handling configuration changes
// see the MSDN topic at http://go.microsoft.com/fwlink/?LinkId=166357.
RoleEnvironment.Changing += RoleEnvironmentChanging;
Теперь, когда я запускаю это в облачном эмуляторе на моем компьютере разработчика - он работает нормально, я вижу журналы в таблице WADLogs. Я установил значение "Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" в моем файле cscfg как "UseDevelopmentStorage=true". Когда я публикую свою веб-роль в облаке Azure, я задаю это значение конфигурации, чтобы правильно указать правильную учетную запись хранения:
Тем не менее, мои веб-журналы никогда не отображаются в лазурном облаке. Когда я запускаю облачное приложение на эмуляторе и указываю строку подключения диагностики к действующему облачному хранилищу, даже тогда я могу получить диагностику. Может кто-нибудь дать мне знать, что происходит?
Капил
1 ответ
Это звучит немного странно. Я хочу сделать различие между просмотром журналов в консоли эмулятора (devFabric) и хранением журналов в учетной записи хранения. Если вы можете видеть журналы, хранящиеся в учетной записи хранилища, когда вы указываете свою службу на учетную запись облачного хранилища, но запускаете службу локально в локальном эмуляторе, тогда, я думаю, вы не ждете достаточно после публикации своей службы, Процесс, который запускает передачу журналов из экземпляра вашей роли в учетную запись хранения, иногда занимает больше времени, чем ожидалось, я предлагаю подождать немного дольше, прежде чем запрашивать хранилище таблиц