Включение DiagnosticsMonitorTraceListnener перед запуском запуска задач - PullRequest
1 голос
/ 19 января 2012

Я хочу добавить трассировку в мои задачи запуска. Я пытался включить DiagnosticsMonitorTraceListener в сценарии powershell, который запускается перед всеми фактическими задачами запуска. Код:

Add-Type -Path ./Microsoft.WindowsAzure.Diagnostics.dll
$listener = new-object -type Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 

[System.Diagnostics.Trace]::Listeners.Add($listener)

$credentials = new-object -type Microsoft.WindowsAzure.StorageCredentialsAccountAndKey -argumentlist "ACCOUNT_NAME", "ACCOUNT_KEY"
$dmConfig = Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor]::GetDefaultInitialConfiguration();
$dmConfig.Logs.ScheduledTransferPeriod = [System.TimeSpan]::FromMinutes(1)
[Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitor]::Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", $dmConfig)

Почему-то мои следы такие:

[System.Diagnostics.Trace]::TraceInformation("Starting startup tasks")

никогда не переносится в хранилище Azure. Скрипт запускается без проблем. Я знаю, что есть способ заставить диагностическую инфраструктуру Azure копировать журналы, созданные задачами запуска, но насколько я понимаю, DiagnosticMonitor запускается только при запуске роли. Что, если задача запуска завершится неудачно и роль не запустится - журналы не сохранятся.

Пожалуйста, дайте мне знать, если я иду неправильным путем, чтобы решить это. Спасибо.

1 Ответ

0 голосов
/ 20 января 2012

Одной из альтернатив, если вы используете Visual Studio Ultimate, является использование IntelliTrace.Это может смотреть на многие вещи во время запуска.Для внешних задач и тому подобного проверьте:

http://blog.smarx.com/posts/windows-azure-startup-tasks-tips-tricks-and-gotchas

И

http://leastprivilege.com/2011/03/04/logging-output-of-azure-startup-tasks-to-the-event-log/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...