title: Should I declare log4net logger once per class or in base class?
body: <p>It seems cleaner to declare a logger and call <code>LogManager.GetLogger</code> in a base class so that everyone who is inheriting can use it. However, on log4net site and other blogs like in <a href="http://www.beefycode.com/post/Log4Net-Tutorial-pt-5-Using-Logger-Objects.aspx">this blog post</a> it states that it is better to declare one logger per class because:</p>
  
  <blockquote>
    <p>You can use loggers this way to isolate logging concerns across your objects, and I wholly recommend you do so.  This will enable you to throttle and direct log output from individual loggers using log4net's hierarchical configuration mechanism.</p>
  </blockquote>
  
  <p>Does this mean if I put it in base class, it will make that logger a bottleneck? </p>
  
  <p>If so, are there other solutions or do I just have to create a logger per class? </p>