【问题标题】:Difference between EventLog.WriteEntry and EventLog.WriteEvent methodsEventLog.WriteEntry 和 EventLog.WriteEvent 方法的区别
【发布时间】:2010-08-30 11:04:46
【问题描述】:

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

EventLog.WriteEntry("Saravanan", "Application logs an entry", 
                     EventLogEntryType.Information, 2, 3);
EventLog.WriteEvent("Saravanan",  new EventInstance(2, 3), 
                                 "Application logs an event");

两者输出相同的结果。

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

如果只有微小的区别,为什么不通过重载WriteEvent()WriteEntry()方法来完成,而是引入新方法?

【问题讨论】:

    标签: .net .net-2.0


    【解决方案1】:

    EventLog.WriteEntry 是一种“快速而肮脏”的写入事件日志的方式,您可以在其中写入字符串。 EventLog.WriteEvent 使您能够充分利用本机 Win32 API。但是,要做到这一点,您应该创建一个本地化的消息文件,然后使用message compiler (mc.exe) 进行编译。每个事件都可以包含替换字符串,并且可以本地化以匹配计算机上的区域设置。

    为避免创建消息文件这一额外步骤,事件日志 API 的 .Net 包装器使用的消息只是插入作为参数提供的字符串。这些消息由EventLog.WriteEntry 使用,并作为嵌入资源存储在.Net 文件夹中的EventLogMessages.dll 中。

    通常使用EventLog.WriteEntry 就足够了,但是如果您需要本地化您的消息或想要在源代码之外维护它们,您应该创建一个消息文件并使用EventLog.WriteEvent

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 1970-01-01
      • 2016-01-31
      • 2013-06-12
      • 1970-01-01
      • 2017-12-02
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多