public void SinkThrowsOnNullTrackingEvent() { // arrange var logger = new FakeLogger <LoggerSink>(); var options = Options.Create(new LoggerSinkOptions()); var sink = new LoggerSink(logger, options); ITrackingEvent trackingEvent = null; // act var ex = Assert.Throws <ArgumentNullException>(() => sink.Sink(trackingEvent)); // assert Assert.Equal(nameof(trackingEvent), ex.ParamName); }
public void Sink(ITrackingEvent trackingEvent) { foreach (var sink in _sinks) { try { sink.Sink(trackingEvent); } catch (Exception ex) { _logErrorAction(_logger, ex); throw; } } }
public void Sink(ITrackingEvent trackingEvent) { if (trackingEvent is null) { throw new ArgumentNullException(nameof(trackingEvent)); } switch (trackingEvent) { case IScopeCreatedEvent e: _logScopeCreated(_logger, e.ScopeId, e.Timestamp, null); break; case ITrackerCreatedEvent e: _logTrackerCreated(_logger, e.ScopeId, e.TrackerId, e.Timestamp, null); break; case ITrackerStartedEvent e: _logTrackerStarted(_logger, e.ScopeId, e.TrackerId, e.Timestamp, e.Elapsed, null); break; case ITrackerStoppedEvent e: _logTrackerStopped(_logger, e.ScopeId, e.TrackerId, e.Timestamp, e.Elapsed, null); break; case ITrackerCompletedEvent e: _logTrackerCompleted(_logger, e.ScopeId, e.TrackerId, e.Timestamp, e.Elapsed, null); break; case ITrackerFaultedEvent e: _logTrackerFaulted(_logger, e.ScopeId, e.TrackerId, e.Timestamp, e.Elapsed, e.Exception); break; case ITrackerCancelledEvent e: _logTrackerCancelled(_logger, e.ScopeId, e.TrackerId, e.Timestamp, e.Elapsed, e.Exception); break; default: throw new InvalidOperationException($"TrackingEvent of type '{trackingEvent.GetType().Name}' is not supported by this sink"); } }
public void Sink(ITrackingEvent trackingEvent) { throw _exception; }
public void Sink(ITrackingEvent trackingEvent) { Events.Add(trackingEvent); }