title: what's log4j actually doing when we turn on or off some log places?
body: <p>We know we can config log4j to turn off log on specific places (class or package in Java) via its properties/configuration file. My questions are followed:</p>
  
  <ol>
  <li>what's log4j actually doing for those flags? </li>
  <li>is the log statement in log4j still called but just not being written to file or console because of that flag? so still have performance impact?</li>
  <li>is it like #ifdef in C++ which take effect at compile time then can limit the performance impact?</li>
  </ol>
  
  <p>thanks,</p>