Написать в App Insights из Powershell Running Inside Webjob - PullRequest
0 голосов
/ 02 мая 2018

Я запускаю скрипт PowerShell, используя процесс, описанный здесь: https://blogs.msdn.microsoft.com/nicktrog/2014/01/22/running-powershell-web-jobs-on-azure-websites/

Я также отлавливаю ошибки в скрипте и регистрирую их в Application Insights, используя метод здесь: https://www.c -sharpcorner.com / статьи / с использованием-лазурь-приложения-идея-в-PowerShell /

Когда код запускается, я вызвал ошибку, введя опечатку в скрипт. Обнаружено исключение, и вызов TrackException() происходит без проблем, но ни одна запись журнала никогда не делает это для понимания приложения! Я попытался запустить тот же сценарий локально, и он просто отлично регистрируется.

Пример сценария:

$rootPath = ($env:webroot_path)
Add-Type -Path "$rootPath\bin\Microsoft.ApplicationInsights.dll"
$appInsightsClient = New-Object Microsoft.ApplicationInsights.TelemetryClient
$appInsightsClient.InstrumentationKey = "the-key"


try {
    $lastSuccessDate = Get-Dates "1/1/1900"
} catch {
    [Console]::WriteLine($_.Exception.Message)
    $telemetryException = New-Object "Microsoft.ApplicationInsights.DataContracts.ExceptionTelemetry"
    $telemetryException.Exception = $_.Exception
    $appInsightsClient.TrackException($telemetryException)

    Exit 1
}

1 Ответ

0 голосов
/ 03 мая 2018

Чтобы исключение обновилось ApplicationInsights, необходимо добавить Flush() к TelemetryClient

Добавить:

$appInsightsClient.TrackException($TelException)
$appInsightsClient.Flush()
...