Пример #1
0
        public Task PublishAsync(TMetaData metadata, String messageFormat, params Object[] messageParameters)
        {
            var tasks = new List <Task>();
            var evt   = new LogEventImpl <TMetaData>(metadata, messageFormat, messageParameters);

            foreach (var handler in this._handlers)
            {
                Task task;
                try
                {
                    task = handler(evt);
                }
                catch
                {
                    // Ignore
                    task = null;
                }
                if (task != null)
                {
                    tasks.Add(task);
                }
            }

            return(tasks.Count > 0 ? Task.WhenAll(tasks) : TaskHolder.CompletedTask);
        }
Пример #2
0
        public void Publish(TMetaData metadata, String messageFormat, params Object[] messageParameters)
        {
            var evt = new LogEventImpl <TMetaData>(metadata, messageFormat, messageParameters);

            foreach (var handler in this._handlers)
            {
                try
                {
                    handler(evt);
                }
                catch
                {
                    // Ignore
                }
            }
        }