title: Buffering log messages in NLog and manually flushes them to target
body: <p>I am trying to log via the NLog MailTarget.
  It works just fine, but i wanted to wrap the mailtarget with the <code>BufferedTargetWrapper</code> to buffer the log messages until a predefined codepoint, where i want to manually flush the buffer and send the previusly buffered log messages by an single mail (like defined in the mail target).</p>
  
  <p>If I define a <code>FlushTimeout</code> or the <code>BufferSize</code> of the <code>BufferedTargetWrapper</code> everything still works just fine as supposed.
  But if the FlushTimeout and the BufferSize is not set, i can't get it to work.</p>
  
  <p>Like answered in this question on SO <a href="https://stackoverflow.com/questions/2413299/nlog-force-bufferingtargetwrapper-to-empty-on-appdomain-unhandledexception">Force BufferingTargetWrapper to empty</a> i have no something like that:</p>
  
  <pre><code> LogManager.Configuration.AllTargets.Where(t =&gt; t != null &amp;&amp; t is BufferingTargetWrapper).ToList().
              ForEach(b =&gt; ((BufferingTargetWrapper)b).Flush(null));
  </code></pre>
  
  <p>But the documentation and this answer is contradictory to my NLog Version (2.0.0.2000).
  There is no flush method without parameters, only the flush method for asynchronous targets.</p>
  
  <p>Is there a way to force the BufferingTargetWrapper to flush all the logged messages to the wrapped target (to send it by mail)?</p>