[英]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儀表板上可見的日志的機制 :
Console
類的靜態方法(例如Console.WriteLine
) TextWriter
對象作為由SDK的一個或多個屬性修飾的方法的“ log
”參數(例如[NoAutomaticTrigger]
) 實際上,這解釋了您的問題:
Trace
)與Azure Web應用程序中使用的日志記錄機制無關( 此問題的先前答案解釋了如何配置日志記錄) Trace
作為默認機制,這解釋了為什么“無法找到跟蹤日志記錄” 但是,在這兩種情況下都很容易添加一個TraceListener
來捕獲Trace
語句的輸出。
這個答案解釋了如何為Console
執行此Console
。
並且, log
對象可以添加為TextWriterTraceListener
。
這對我來說是預期的。
要指定Web作業日志的存儲帳戶,需要在CONFIGURE選項卡> 連接字符串部分下添加連接字符串, 連接字符串的名稱必須是AzureWebJobsDashboard 。
它應該如下所示:
您還可以在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.