如何使用nlog写入具有关键级别的事件日志?

时间:2012-07-18 12:07:19

标签: logging event-log nlog

我正在尝试将日志从nlog写入窗口的事件日志。这是我的配置

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
    <targets>                
        <target name="eventLog" xsi:type="EventLog" layout="${longdate} [${level:upperCase=true}] : ${message} ${exception:format=ToString}" log="Application" source="mySource"/>
    </targets>
    <rules>
        <logger name="*" minlevel="Debug" writeTo="eventLog"/>
    </rules>
</nlog>

我需要将事件日志中的日志与其级别区分开来,我需要单独的ErrorCritical级别日志 但那些线:

logger.Error("error test do eventLogu");
logger.Fatal("fatal test do eventLogu");

都写入Error级别的事件日志。

是否可以使用nlog写入具有Critical级别的日志?

1 个答案:

答案 0 :(得分:3)

看起来不像。

如果我的理解是正确的,EventLogTarget使用EventLogEntryType Enumeration来选择事件日志级别。此枚举没有critical的值,用于较低级别(内核等)事件。

NLog Code本身说

else if (logEvent.Level >= LogLevel.Error)
{
    entryType = EventLogEntryType.Error;
}