title: Filtering level of logger messages
body: <p>I started using Log4j 2 today and I saw three ways to specify message level:
  1. with filter.threshold
  2. in appender itself
  3. or in rootLogger
  Which way is recommended to use when specifying logger's message level?</p>
  
  <p>I currently have this code as Log4j2 conf file:</p>
  
  <pre><code>status = error
  dest = err
  name = PropertiesConfig
  
  property.filename = logs/log.log
  
  filter.threshold.type = ThresholdFilter
  filter.threshold.level = trace
  
  appender.console.type = Console
  appender.console.name = ConsoleLogger
  appender.console.layout.type = PatternLayout
  appender.console.layout.pattern = [%t.%-15c{1}] [%p] %d{HH:mm:ss.SSS} - %m%n
  appender.console.filter.threshold.type = ThresholdFilter
  appender.console.filter.threshold.level = trace
  
  appender.randomAccessFile.type = RandomAccessFile
  appender.randomAccessFile.name = File
  appender.randomAccessFile.filename = logs/log.log
  appender.randomAccessFile.immediateFlush = false
  appender.randomAccessFile.append = false
  appender.randomAccessFile.layout.type = PatternLayout
  appender.randomAccessFile.layout.pattern = %-10[%t.%c{1}] [%p] %d{HH:mm:ss.SSS} - %m%n
  appender.randomAccessFile.filter.threshold.type = ThresholdFilter
  appender.randomAccessFile.filter.threshold.level = trace
  
  rootLogger.level = trace
  rootLogger.includeLocation = false
  rootLogger.appenderRef.stdout.ref = ConsoleLogger
  rootLogger.appenderRef.file.ref = File
  </code></pre>
  
  <p>As you can see I have levels in 3 places. I think those appender filters are for those specific logging inteface and rootLogger.level for global filter, but what this code do? That's the default value or what?</p>
  
  <pre><code>filter.threshold.type = ThresholdFilter
  filter.threshold.level = trace
  </code></pre>