protected override void Write(AsyncLogEventInfo logEvent)
{
if (IsIntervalExpired())
{
ResetInterval();
InternalLogger.Debug("LimitingWrapper '{0}': new interval of '{1}' started.", Name, Interval);
}
if (MessagesWrittenCount < MessageLimit)
{
this.WrappedTarget.WriteAsyncLogEvent(logEvent);
MessagesWrittenCount++;
}
else
{
logEvent.Continuation(null);
InternalLogger.Trace("LimitingWrapper '{0}': discarded event, because MessageLimit of '{1}' was reached.", Name, MessageLimit);
}
}