创建自定义事件日志

时间:2009-09-01 18:46:37

标签: c#

如何以编程方式检查/创建要在Windows XP / 2003事件查看器中查看的自定义事件日志?

现在我可以在“应用程序”日志中创建条目,但希望为我的各种应用程序提供自定义日志。

我正在使用C# - .NET Framework 3.5

4 个答案:

答案 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 ..