如何以编程方式检查/创建要在Windows XP / 2003事件查看器中查看的自定义事件日志?
现在我可以在“应用程序”日志中创建条目,但希望为我的各种应用程序提供自定义日志。
我正在使用C# - .NET Framework 3.5
答案 0 :(得分:8)
框架中的System.Diagnostics.EventLog
类有一个CreateEventSource
方法......
EventLog.CreateEventSource(source, logName);
请注意,创建新的eventLog(或eventLog Source)需要更高级别的权限(WIndows访问控制列表(ACL)权限),而不是简单地写入日志,通常,此访问级别不可用对于大多数应用程序...所以你需要确保你的部署过程或部署msi在那时创建事件日志/源代码......当安装应用程序的进程应该有足够的权限时。
答案 1 :(得分: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>
答案 2 :(得分:1)
您需要指定EventLog对象的Log属性。
可在此处找到文档:
http://msdn.microsoft.com/en-us/library/system.diagnostics.eventlog.log.aspx
答案 3 :(得分:0)
Here是.Net 3.5和4.0的自定义事件记录器的示例。
Log4Net也是一个很好的工具,在我的情况下,我正在构建一个lib,而客户端的调用程序没有log4net ..