로그 수준이> = WARN 일 때만 전자 메일을 보내고 두 번째는 모든 시간을 보내지 만 동시에 두 시간은 보내지 않는 두 개의 smtp 어 펜더를 포함하도록 log4net을 구성 할 수 있습니까?log4net smtpappender 대상은 로그 수준을 기준으로합니다.
<appender name="SmtpAppenderWarn" type="log4net.Appender.SmtpAppender">
<to value="[email protected]" />
<from value="[email protected]" />
<subject value="Import completed with warnings/errors" />
<smtpHost value="localhost" />
<bufferSize value="512" />
<lossy value="true" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%newline%date [%thread] %-5level %logger [%property{NDC}] - %message%newline%newline%newline" />
</layout>
</appender>
<appender name="SmtpAppenderSuccess" type="log4net.Appender.SmtpAppender">
<to value="[email protected]" />
<from value="[email protected]" />
<subject value="Import completed successfully" />
<smtpHost value="localhost" />
<bufferSize value="512" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level %logger: %message%newline" />
</layout>
<filter type="log4net.Filter.LevelMatchFilter">
<levelToMatch value="INFO" />
</filter>
</appender>
나는 내 응용 프로그램은 내가 가진 :
Log.Info("Importer is starting...");
//my logic
//if warn Log.Warn("Warning...");
Log.Info("Import finished");
그래서 나는 정보 모든 시간을 사용하고 있습니다. 이제 WARN이 발생하면 두 메시지가 전송됩니다. 물론 성공 정보가있는 사람은 보내지 않았 으면합니다.
내 가 와 같으므로 두 번째 필드 만 갖고 싶지 않으므로 작동하지 않습니다. WARNs뿐만 아니라 더 높은 레벨을 위해서 –
christof
이것은 작동하지 않습니다. –