public void AddFixedTarget(MicroLogTarget target, bool async) { (async ? fixedAsyncTargets : fixedTargets).Add(target); var source = (async ? asyncTargets : targets); var newTargets = new MicroLogTarget[source.Length+1]; Array.Copy(source,newTargets, source.Length); newTargets[newTargets.Length-1] = target; if (async){ asyncTargets = newTargets; }else{ targets = newTargets; } }
private void write(MicroLogTarget[] targets, MicroLogEvent evt, bool flushAfterWrite) { try { foreach(var target in targets) { target.DoWrite(evt, flushAfterWrite); } } catch{ } }