[英]Semantic logging (SLAB) for MVC Azure Webapp
我正在嘗試為我的Azure Web應用程序實現SLAB(正在進行中),而我的列表器是Azure表存儲(表連接字符串),面臨的問題是-“ EventSource.IsEnabled()=始終返回false”(從帶有IIS Express的VS2013)
我的代碼
———— global.asax
var listener2 = new ObservableEventListener();
listener2.EnableEvents(SBEvents.Log, EventLevel.Verbose,Keywords.All);
listener2.LogToWindowsAzureTable(“sdf”, “DefaultEndpointsProtocol=https;AccountName=********;AccountKey=****************);
———-事件來源
Public class SBEvents :EventSource {
public class keywords{...}
public class Tasks {..}
private static readonly Lazy Instance = new Lazy(() => new SBEvents());
public static SBEvents Log { get { return Instance.Value; } }
[Event(102, Message = “Bike started with Bike ID :{0}”, Keywords = Keywords.Application, Level = EventLevel.Informational)]
public void BikeStarted(String BikeID){
if (this.IsEnabled()) //// = always returns false
this.WriteEvent(102,BikeID);
看起來“ Azure Web應用程序”無法收聽ETW事件。
https://azure.microsoft.com/zh-CN/documentation/articles/choose-web-site-cloud-service-vm/
Azure上的Web應用程序不可用的診斷日志記錄和跟蹤區域包括Windows ETW事件和常見的Windows事件日志(例如,系統,應用程序和安全事件日志)。 由於ETW跟蹤信息可能會在整個計算機范圍內(具有正確的ACL)可見,因此將禁止對ETW事件的讀寫訪問。 開發人員可能會注意到,讀取和寫入ETW事件的API調用和常見的Windows事件日志似乎可以正常工作,但這是因為WEb Apps正在“偽造”這些調用,從而使它們看起來成功了。 實際上,Web應用程序代碼無法訪問此事件數據
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.