2009-09-01 87 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的..