我尝试使用EventLog类的WriteEntry和WriteEvent方法。
EventLog.WriteEntry("Saravanan", "Application logs an entry",
EventLogEntryType.Information, 2, 3);
EventLog.WriteEvent("Saravanan", new EventInstance(2, 3),
"Application logs an event");两者输出相同的结果。
这些方法的用法有什么不同吗?
如果只有很小的区别,为什么不通过重载WriteEvent()或WriteEntry()方法来实现,而是引入一个新方法呢?
发布于 2010-08-30 19:20:01
EventLog.WriteEntry是一种“又快又脏”的写入事件日志的方法,您可以在事件日志中写入字符串。EventLog.WriteEvent使您能够充分利用本机Win32应用编程接口。但是,要做到这一点,您应该创建一个本地化的消息文件,然后使用message compiler (mc.exe)进行编译。每个事件都可以包含替换字符串,并且可以进行本地化以匹配计算机上的区域设置。
为了避免创建消息文件的这一额外步骤,事件日志API的.Net包装器使用的消息只是插入作为参数提供的字符串。这些邮件由EventLog.WriteEntry使用,并作为嵌入式资源存储在EventLogMessages.dll的.Net文件夹中。
通常使用EventLog.WriteEntry就足够了,但如果您需要本地化消息或希望在源代码之外维护它们,则应该创建一个消息文件并使用EventLog.WriteEvent。
https://stackoverflow.com/questions/3599762
复制相似问题