创建自定义事件日志
问题描述:
如何以编程方式检查/创建要在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
语法是: EventLog.CreateEventSource(“programname_must_be_unique”,“new_Logname” ) – 2009-09-01 19:25:21