Лучший курс, чтобы действительно понять, - это убедиться сами.
LogLevelDemo.java
public class LogLevelDemo {
private static final Logger LOG = Logger.getLogger(LogLevelDemo.class);
public void log() {
LOG.fatal("This is fatal.");
LOG.error("This is error.");
LOG.warn("This is warn.");
LOG.info("This is info.");
LOG.debug("This is debug.");
LOG.trace("This is trace.");
}
public static void main(String[] args) {
LogLevelDemo lld = new LogLevelDemo();
lld.log();
}
}
log4j.properties
log4j.rootLogger=INFO,A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
А затем переключить атрибут уровня log4j.rootLogger до уровня хочешь, чтобы проверить.
эти параметры печати следующие:
0 [main] FATAL demo.log4j.LogLevelDemo - This is fatal.
0 [main] ERROR demo.log4j.LogLevelDemo - This is error.
0 [main] WARN demo.log4j.LogLevelDemo - This is warn.
0 [main] INFO demo.log4j.LogLevelDemo - This is info.
Поэтому не отлаживать или не отслеживать заявления, и так далее, и так далее.
Что говорят [Log4j docs] (https://logging.apache.org/log4j/1.2/manual.html)? – bradimus
Я согласен с брадимусом. Почему спрашивают других людей, что хорошо документировано, возможно, миллион раз? См. Например: http://stackoverflow.com/questions/5817738/how-to-use-log-levels-in-java – GhostCat
Если rootLogger установлен в DEBUG, он распечатает DEBUG, INFO, WARN, ERROR. Если вы хотите отфильтровать INFO и ERROR, только тогда вам нужно настроить фильтр в ваших приложениях. См. Http://stackoverflow.com/documentation/java/2472/log4j-log4j2/19786/filter-logoutput-by-level-log4j-1-x#t=201608231427550986515 – Fildor