首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EventLog.WriteEntry方法与EventLog.WriteEvent方法的区别

EventLog.WriteEntry方法与EventLog.WriteEvent方法的区别
EN

Stack Overflow用户
提问于 2010-08-30 19:04:46
回答 1查看 11.7K关注 0票数 41

我尝试使用EventLog类的WriteEntryWriteEvent方法。

代码语言:javascript
复制
EventLog.WriteEntry("Saravanan", "Application logs an entry", 
                     EventLogEntryType.Information, 2, 3);
EventLog.WriteEvent("Saravanan",  new EventInstance(2, 3), 
                                 "Application logs an event");

两者输出相同的结果。

这些方法的用法有什么不同吗?

如果只有很小的区别,为什么不通过重载WriteEvent()WriteEntry()方法来实现,而是引入一个新方法呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 55
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3599762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档