private void OnLogger(ILoggerEvent logger) { lock (_logerTasks) { if (OnLoggerAsync != null) { var token = _watcherSource.Token; var task = OnLoggerAsync != null ? Task.Run(() => OnLoggerAsync?.Invoke(logger, token), token) : Task.FromResult(false); _logerTasks.Add(task); } _logerTasks.RemoveAll(t => t.IsCompleted); } }
} // Unregister // ---------------------------------------------------------------------- internal void Handle(ILoggerEvent loggerEvent) { if (loggerEvent == null) { throw new ArgumentNullException("loggerEvent"); } string eventContext = loggerEvent.Context; ArrayList contextListeners = null; if (listenerListsByContext.Count > 0) { lock (listenerListsByContext) { contextListeners = listenerListsByContext[eventContext] as ArrayList; if (contextListeners == null) { foreach (string rootContext in listenerListsByContext.Keys) { if (eventContext.StartsWith(rootContext)) { contextListeners = listenerListsByContext[rootContext] as ArrayList; break; } } } } } if (contextListeners != null && contextListeners.Count > 0) { lock (contextListeners) { foreach (ILoggerListener loggerListener in contextListeners) { loggerListener.Handle(loggerEvent); } } } } // Handle
// ---------------------------------------------------------------------- internal void Handle( ILoggerEvent loggerEvent ) { if ( loggerEvent == null ) { throw new ArgumentNullException( "loggerEvent" ); } string eventContext = loggerEvent.Context; ArrayList contextListeners = null; if ( listenerListsByContext.Count > 0 ) { lock ( listenerListsByContext ) { contextListeners = listenerListsByContext[ eventContext ] as ArrayList; if ( contextListeners == null ) { foreach ( string rootContext in listenerListsByContext.Keys ) { if ( eventContext.StartsWith( rootContext ) ) { contextListeners = listenerListsByContext[ rootContext ] as ArrayList; break; } } } } } if ( contextListeners != null && contextListeners.Count > 0 ) { lock ( contextListeners ) { foreach ( ILoggerListener loggerListener in contextListeners ) { loggerListener.Handle( loggerEvent ); } } } }
} // Unregister // ---------------------------------------------------------------------- internal void Handle(ILoggerEvent loggerEvent) { if (loggerEvent == null) { throw new ArgumentNullException("loggerEvent"); } string eventContext = loggerEvent.Context; List <ILoggerListener> contextListeners = null; if (listenerListsByContext.Count > 0) { lock ( listenerListsByContext ) { if (!listenerListsByContext.TryGetValue(eventContext, out contextListeners)) { foreach (var rootContext in listenerListsByContext.Keys) { if (eventContext.StartsWith(rootContext)) { contextListeners = listenerListsByContext[rootContext]; break; } } } } } if (contextListeners != null && contextListeners.Count > 0) { lock ( contextListeners ) { foreach (var loggerListener in contextListeners) { loggerListener.Handle(loggerEvent); } } } } // Handle
public void OnLoggerMessage(object sender, ILoggerEvent e) { }
private Task OnLoggerAsync(ILoggerEvent e, CancellationToken token) { _nonQuietOutput.AddMessage(e.Message, token); return(Task.CompletedTask); }
private async Task OnOnLoggerAsync(ILoggerEvent e, CancellationToken token) { await AddMessage(ConsoleColor.DarkBlue, DateTime.UtcNow, $"Id:{e.Id}\n" + e.Message, token).ConfigureAwait(false); }
/// <summary> /// Unsubscribes the listener. /// </summary> /// <param name="subscriberEvent">The subscriber event.</param> public static void UnsubscribeListener(ILoggerEvent subscriberEvent) { subscriberEvent.LoggerEvent -= reportLoggerEventToConsole; }