protected virtual bool FilterEvent(LoggingEvent loggingEvent) { if (!this.IsAsSevereAsThreshold(loggingEvent.Level)) { return(false); } IFilter filterHead = this.FilterHead; while (filterHead != null) { FilterDecision decision = filterHead.Decide(loggingEvent); if (decision == FilterDecision.Deny) { return(false); } if (decision == FilterDecision.Accept) { filterHead = null; continue; } if (decision == FilterDecision.Neutral) { filterHead = filterHead.Next; } } return(true); }
public override FilterDecision Decide(LoggingEvent loggingEvent) { bool transactionExists = null != Transaction.Current; FilterDecision transactionDecision = AcceptOnMatch ? FilterDecision.Accept : FilterDecision.Deny; return(transactionExists ? transactionDecision : FilterDecision.Neutral); }
public override FilterDecision Decide(LoggingEvent loggingEvent) { if (PercentageCutoff <= 0 || PercentageCutoff > 100) { PercentageCutoff = 85; } FilterDecision decision = FilterDecision.Accept; String newMessage = null; if (loggingEvent.MessageObject != null) { newMessage = loggingEvent.MessageObject.ToString(); } if (!String.IsNullOrWhiteSpace(lastMessage) && !String.IsNullOrWhiteSpace(newMessage)) { if (newMessage == lastMessage) { decision = FilterDecision.Deny; } if (FilterPercentages) { Int32 lastMessagePercentageIndex = lastMessage.LastIndexOf('%'); if (lastMessagePercentageIndex > 0) { Int32 newMessagePercentageIndex = newMessage.LastIndexOf('%'); if (newMessagePercentageIndex > 0) { Int32 newMessageSpaceIndex = newMessage.LastIndexOf(' ', newMessagePercentageIndex); if (newMessageSpaceIndex < 0) { newMessageSpaceIndex = 0; } Decimal percentage; if (Decimal.TryParse(newMessage.Substring(newMessageSpaceIndex, newMessagePercentageIndex - (newMessageSpaceIndex + 1)), out percentage)) { if (percentage < PercentageCutoff) { decision = FilterDecision.Deny; } } } } } } lastMessage = newMessage; return(decision); }
/// <summary> /// Decides a logging event /// </summary> /// <param name="loggingEvent">LoggingEvent instance</param> /// <returns>Returns a filter decision</returns> public override FilterDecision Decide(LoggingEvent loggingEvent) { FilterDecision decision = FilterDecision.Deny; string exceptionString = loggingEvent.GetExceptionString(); if (exceptionString.Contains("BusinessException") || exceptionString.Contains("CheckInException")) { decision = FilterDecision.Accept; } return(decision); }
public override FilterDecision Decide(LoggingEvent loggingEvent) { FilterDecision propertyFilterResult = CheckProperty(loggingEvent); FilterDecision levelFilterResult = CheckLevel(loggingEvent); if (propertyFilterResult == FilterDecision.Deny || levelFilterResult == FilterDecision.Deny) { return(FilterDecision.Deny); } if (propertyFilterResult == FilterDecision.Neutral && levelFilterResult == FilterDecision.Neutral) { return(FilterDecision.Neutral); } return(FilterDecision.Accept); }
private FilterDecision NegateDecision(FilterDecision decision) => decision switch {
/// <summary> /// Gets whether the <see cref="FilterDecision"/> is <see cref="FilterDecision.Keep"/>. /// </summary> public static bool IsKeep(this FilterDecision decision) => decision == FilterDecision.Keep;
/// <summary> /// Gets whether the <see cref="FilterDecision"/> is <see cref="FilterDecision.Exclude"/>. /// </summary> public static bool IsExclude(this FilterDecision decision) => decision == FilterDecision.Exclude;