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); }
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 } } }