如何以編程方式檢查/創建要在Windows XP/2003事件查看器中查看的自定義事件日誌?創建自定義事件日誌
現在我可以在「應用程序」日誌中創建條目,但想爲我的各種應用程序定製日誌。
我使用C# - .NET Framework 3.5的
如何以編程方式檢查/創建要在Windows XP/2003事件查看器中查看的自定義事件日誌?創建自定義事件日誌
現在我可以在「應用程序」日誌中創建條目,但想爲我的各種應用程序定製日誌。
我使用C# - .NET Framework 3.5的
您需要創建一個自定義事件日誌,如here所述。如果使用的是log4net用於記錄(推薦),可以配置一個EventLogAppender
如下面的例子:
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="MyApp" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger - %message%newline" />
</layout>
</appender>
的System.Diagnostics.EventLog
類的框架有一個CreateEventSource
方法...
EventLog.CreateEventSource(source, logName);
注意,創建一個新的事件日誌(或事件日誌源)需要更高級別的權限(WIndows訪問控制列表(ACL)權限),而不是簡單地寫入日誌,通常,此訪問級別不適用於大多數應用程序...因此,您需要確保您的部署過程或部署MSI當時做事件日誌/源創建...當進程安裝t他的應用應該擁有足夠的權限。
你需要指定的EventLog對象的日誌屬性。
文檔可以在這裏找到:
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.log.aspx
Here是爲.NET 3.5和4.0自定義事件記錄器的一個例子。
log4net的也是一個很好的工具,在我的情況我是建設一個lib和客戶端的調用程序沒有log4net的..
語法是: EventLog.CreateEventSource(「programname_must_be_unique」,「new_Logname」 ) – 2009-09-01 19:25:21