簡體   English   中英

Azure WebJobs:找不到跟蹤日志記錄

[英]Azure WebJobs: Can't find Trace logging

我按照此Microsoft網頁上的說明記錄了來自Azure WebJob的消息,但我的消息都沒有出現在日志中。

在我的WebJob中,我使用編寫日志消息

Trace.TraceInformation("blah blah blah");

在配置文件的應用程序診斷部分中,我使用“詳細”選項打開了blob存儲日志記錄。

日志文件被創建(雖然我有時要等待幾分鍾-在一種情況下,直到第二天早上-直到日志出現在Blob存儲),但日志不包含我的Trace消息。

那么如何將消息記錄到這些日志文件中,和/或Trace寫入的位置?

以下是我配置的日志記錄選項的圖像:

在此輸入圖像描述

配置的blob存儲肯定與我正在查找的存儲相同。

Azure WebJobs提供了兩種將輸出發送到WebJobs SDK儀表板上可見的日志的機制

  1. Console類的靜態方法(例如Console.WriteLine
  2. 使用TextWriter對象作為由SDK的一個或多個屬性修飾的方法的“ log ”參數(例如[NoAutomaticTrigger]

實際上,這解釋了您的問題:

  • Azure WebJobs中提供的日志記錄機制(本機支持Trace )與Azure Web應用程序中使用的日志記錄機制無關( 此問題的先前答案解釋了如何配置日志記錄)
  • 不支持Trace作為默認機制,這解釋了為什么“無法找到跟蹤日志記錄”

但是,在這兩種情況下都很容易添加一個TraceListener來捕獲Trace語句的輸出。

這個答案解釋了如何為Console執行此Console
並且, log對象可以添加為TextWriterTraceListener

這對我來說是預期的。

要指定Web作業日志的存儲帳戶,需要在CONFIGURE選項卡> 連接字符串部分下添加連接字符串, 連接字符串的名稱必須是AzureWebJobsDashboard

它應該如下所示:

  • 名稱AzureWebJobsDashboard
  • DefaultEndpointsProtocol = https; AccountName =“”; AccountKey =“”
  • 類型自定義

您還可以在Azure門戶中查看日志,打開Web應用程序並選擇WEBJOBS選項卡,單擊Web作業的URL,它將顯示最后一次運行,單擊Toggle按鈕,其中顯示了運行的詳細信息,包括自定義消息所寫的app使用以下聲明。

Console.WriteLine("Error While Doing Something ...");

要輕松查看您的WebJob和網站日志,您可以使用Azure網站日志瀏覽器站點擴展,在此處查找有關安裝它的更多信息 - http://blog.amitapple.com/post/2014/06/azure-website-logging/

如果您仍然沒有在那里看到您的日志,或者它們需要很長時間才能顯示(它不應該)在msdn論壇上啟動一個更適合這類問題的線程。

在從Portal重新啟動App Service之前,我也找不到我的Trace日志。

跟蹤日志應該可以正常工作,如此處所述並存儲在D:\\home\\LogFiles\\application

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM