2013-03-07 46 views
2

我想寫入默認的應用程序事件日誌而無需自動創建事件日誌源或通過EventLog.CreateEventSource。該程序可能以非管理員身份運行,無法創建事件日誌源。此應用程序沒有安裝程序。在這種情況下,我可以指定哪些來源「始終有效」?在不創建源的情況下寫入應用程序日誌

以供參考,該錯誤信息是:

System.Security.SecurityException: The source was not found, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: Security. 

回答

4

你可以不註冊事件源寫的,你需要管理權限來創建一個。如果您擁有管理權限並在未首先創建源的情況下編寫日誌,則Windows會自動創建事件源。

從MSDN:

使用WriteEvent和WriteEntry將事件寫入事件日誌。您必須指定一個事件源來編寫事件;您必須先創建並配置事件源,然後才能使用源編寫第一個條目。

在安裝應用程序的過程中創建新的事件源。這允許操作系統刷新註冊事件源列表及其配置。如果操作系統未刷新其事件源列表,並且嘗試使用新源編寫事件,則寫入操作將失敗。您可以使用EventLogInstaller或使用CreateEventSource方法來配置新的源。您必須擁有計算機上的管理權限才能創建新的事件源。

EventLog.Source Property

相關問題