title: 'Vertical' logging with Nlog
body: <p>We currently use NLog as our logging framework, and it's working quite well. A feature that we'd like to add is the ability to force logging for a single object during runtime, so we'd be able to make calls like the one below.</p>
  
  <pre><code>_logger.Trace(IForceLog obj, string msg)
  </code></pre>
  
  <p>Where the interface is:</p>
  
  <pre><code>public interface IForceLog
  {
     bool ForceLog { get; }
  }
  </code></pre>
  
  <p>This would log if the logging level is at trace <code>||</code> obj.ForceLog.
  Most of these calls would be from within the object, but some would be from others that deal with it.</p>
  
  <p>The idea is that we have many objects of the same type, and sometimes we would like to see detailed logging for just one, and follow its behavior closely without clogging the logfile up.</p>
  
  <p>Is there a standard way to go about this sort of thing?</p>