Пример #1
0
        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);
            }
        }
Пример #2
0
        }         // 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 );
                    }
                }
            }
        }
Пример #4
0
        } // 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
Пример #5
0
 public void OnLoggerMessage(object sender, ILoggerEvent e)
 {
 }
Пример #6
0
 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;
 }