protected internal override sealed void Write(LogEventInfo entry) { // send in a cloned copy so that we're a little safer from this // changing underneath us... var cloned = entry.Clone(); var task = Task.Factory.StartNew(() => WriteAsync(cloned)); // set.. entry.SetTask(task); return; }