创建自定义事件日志

Joh*_*n M 5 c#

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

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

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

Cha*_*ana 8

System.Diagnostics.EventLog框架中的类有一个CreateEventSource方法......

 EventLog.CreateEventSource(source, logName);
Run Code Online (Sandbox Code Playgroud)

请注意,创建新的eventLog(或eventLog Source)需要更高级别的权限(WIndows访问控制列表(ACL)权限),而不是简单地写入日志,通常,大多数应用程序都无法使用此访问级别...因此,您需要确保部署过程或部署msi在那时创建事件日志/源代码...当安装应用程序的进程应具有足够的权限时.


Vin*_*jip 2

您需要创建自定义事件日志,如此处所述。如果您使用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>
Run Code Online (Sandbox Code Playgroud)