需要什麼樣的權限給予在error.log文件中的服務器(運行IIS 7.5),這樣的錯誤被寫入error.log文件?企業庫日誌記錄到平面文件跟蹤偵聽
我創建了一個名爲錯誤日誌的目錄,併成立了聽者在web.config中像下面。
需要什麼樣的權限給予在error.log文件中的服務器(運行IIS 7.5),這樣的錯誤被寫入error.log文件?企業庫日誌記錄到平面文件跟蹤偵聽
我創建了一個名爲錯誤日誌的目錄,併成立了聽者在web.config中像下面。
我沒有看到你的配置實例,但..
我覺得這是最好不要使用平面文件開發之外。事件日誌或數據庫偵聽器更適合生產中的Web應用程序。
如果您必須使用平面文件,您需要爲該應用程序池的帳戶(對於分配給該Web應用程序的應用程序池)寫入對該文件應創建的目錄的訪問權限。默認情況下,我認爲這是Web應用程序的bin目錄,除非您在配置中的文件名中包含路徑。
中發揮Windows標識(取決於你如何驗證)
var principal = ClaimsPrincipal.Current; //normally this reverts to Thread.CurrentPrincipal, but can be changed
return principal.Identity.Name;
或
var windowsIdentity = WindowsIdentity.GetCurrent();
if (windowsIdentity != null)
{
return windowsIdentity.Name;
}
執行Windows標識是否需要在目錄中創建權限,寫權限在指定的文件你EL配置。 您可以使用配置將文件放置在任何地方。沒有路徑的文件的默認值是包含程序集dll的開始項目目錄。
請參閱IIS網站所使用的應用程序池。池確定Windows標識。請參閱Pool的高級設置選項卡。這裏定義了要使用的身份識別方法。
這可能要看是什麼上下文中運行你的應用程序。該應用程序池線程負責寫日誌,以便給讀/寫文件夾的權限相同的身份爲您的應用程序池。我認爲這是默認情況下的NETWORKSERVICE。
我喜歡用FlatFileTraceListener針對這些錯誤的特殊源(假定權限正確配置),因爲我想要一個不同的跟蹤偵聽比失敗的一個,我也想有更少依賴一個簡單的跟蹤監聽器(如數據庫,網絡,事件日誌等)。 –