Windows Azure Diagnostics を使用しています。以下のコードを Webrol.cs に追加します。
試す
{
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();
//Windows Azure logs
config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);
config.Logs.ScheduledTransferLogLevelFilter = LogLevel.Undefined;
//IIS 7.0 logs
config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);
////Failed Request logs
config.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);
//Windows Event logs
// config.WindowsEventLog.DataSources.Add("System!*");
config.WindowsEventLog.DataSources.Add("Application!*");
config.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(1D);
////Crash dumps
CrashDumps.EnableCollection(true);
//update the config with changes
roleInstanceDiagnosticManager.SetCurrentConfiguration(config);
}
catch (Exception ee)
{
System.Diagnostics.Trace.TraceWarning("Diagnostics failed");
}
Web.config の残りの必要なものと .cscfg ファイルの接続文字列。これで、Deployment Storage を使用して開発環境から Diagnostics をログに記録できるようになりました。しかし、クラウドで同じアプリケーションをホストすると、診断をログに記録できません。次のようなエラーが表示されます
「500 - 内部サーバー エラーです。お探しのリソースに問題があり、表示できません。」
名前空間の Copy local を true に変更してみましたが、うまくいきません。アプリケーションをデプロイメント環境で動作させたい。誰かがこれを解決するアイデアを持っている場合は、私に返信してください。
前もって感謝します。