private void CheckTriggerLevel(LogEventEntry entry) { if (_allEventLevel.IsSatisifedBy(entry.Event.Level)) { MarkEventsForWriteOnTrigger(entry); } }
public void LogEvent(LogEvent @event) { var entry = new LogEventEntry(@event, false); _eventEntries.Add(entry); LastEventTime = @event.Timestamp; CheckTriggerLevel(entry); }
internal LogEventEntryError( int lsn, LogEventEntry e, MethodInfo target, Exception ex ) { Debug.Assert( e != null && target != null && ex != null ); LSN = lsn; _entry = e; _target = target; _exception = ex; }
private void MarkEventsForWriteOnTrigger(LogEventEntry triggeringEntry) { var copyOfEvents = _eventEntries.ToArray(); foreach (var entry in copyOfEvents) { if (triggeringEntry.IsSiblingOrParentOf(entry)) { entry.WriteToSink = true; } if (entry == triggeringEntry) { break; } } }
protected bool OnEventHandlingException( int iEventMRef, MethodInfo target, Exception ex, ref LogEventEntry ee ) { EEntry e = _eRefs[iEventMRef]; if( (e.LogOptions & ServiceLogEventOptions.LogErrors) != 0 ) { if( ee != null ) { _serviceHost.LogEventError( ee, target, ex ); } else { ee = _serviceHost.LogEventError( e.Event, target, ex ); } } return (e.LogOptions&ServiceLogEventOptions.SilentEventError) != 0; }
protected void LogEndRaise( LogEventEntry e ) { Debug.Assert( e != null ); _serviceHost.LogEventEnd( e ); }
protected bool GetLoggerEventForAnyCall( int iEventMRef, out LogEventEntry entry, out ServiceLogEventOptions logOptions ) { EEntry e = _eRefs[iEventMRef]; logOptions = e.LogOptions & ServiceLogEventOptions.CreateEntryMask; entry = logOptions != 0 ? _serviceHost.LogEventEnter( e.Event, logOptions ) : null; return true; }
protected bool GetLoggerEventForNotDisabledCall( int iEventMRef, out LogEventEntry entry, out ServiceLogEventOptions logOptions ) { EEntry e = _eRefs[iEventMRef]; logOptions = e.LogOptions & ServiceLogEventOptions.CreateEntryMask; if( _impl == null || _impl.Status == RunningStatus.Disabled ) { if( (logOptions & ServiceLogEventOptions.SilentEventRunningStatusError) != 0 ) { entry = null; if( (logOptions & ServiceLogEventOptions.LogSilentEventRunningStatusError) != 0 ) _serviceHost.LogEventNotRunningError( e.Event, true ); return false; } throw new ServiceNotAvailableException( _typeInterface ); } entry = logOptions != 0 ? _serviceHost.LogEventEnter( e.Event, logOptions ) : null; return true; }
public bool IsSiblingOrParentOf(LogEventEntry entry) { var nestingLevelRoot = entry.NestingLevel.Take(NestingLevel.Length); return(NestingLevel.SequenceEqual(nestingLevelRoot)); }