2009-09-01 158 views
4

如何以編程方式檢查/創建要在Windows XP/2003事件查看器中查看的自定義事件日誌?創建自定義事件日誌

現在我可以在「應用程序」日誌中創建條目,但想爲我的各種應用程序定製日誌。

我使用C# - .NET Framework 3.5的

回答

3

您需要創建一個自定義事件日誌,如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> 
+1

語法是: EventLog.CreateEventSource(「programname_must_be_unique」,「new_Logname」 ) – 2009-09-01 19:25:21

6

System.Diagnostics.EventLog類的框架有一個CreateEventSource方法...

EventLog.CreateEventSource(source, logName); 

注意,創建一個新的事件日誌(或事件日誌源)需要更高級別的權限(WIndows訪問控制列表(ACL)權限),而不是簡單地寫入日誌,通常,此訪問級別不適用於大多數應用程序...因此,您需要確保您的部署過程或部署MSI當時做事件日誌/源創建...當進程安裝t他的應用應該擁有足夠的權限。

0

Here是爲.NET 3.5和4.0自定義事件記錄器的一個例子。

log4net的也是一個很好的工具,在我的情況我是建設一個lib和客戶端的調用程序沒有log4net的..