로깅 레벨 이해하기

- log4j를 사용하였지만 대부분의 로깅 프레임워크에 통용된다.
- 설정된 레벨이하가 로깅된다.
public class SimpleLogTest {
	
	private final Logger logger = Logger.getLogger(SimpleLogTest.class);
	
	public static void main(String[] args) {
		new SimpleLogTest().test();
	}

	private void test(){
		BasicConfigurator.configure();
		
		log(Level.ALL);
		log(Level.TRACE );
		log(Level.DEBUG );
		log(Level.INFO);
		log(Level.WARN);
		log(Level.ERROR);
		log(Level.FATAL);
		log(Level.OFF);
	}
	
	private void log(Level level){
		logger.setLevel(level);
		System.out.println(logger.getLevel());
		logger.trace("trace");
		logger.debug("debug");
		logger.info("info");
		logger.warn("warn");
		logger.error("error");
		logger.fatal("fatal");
	}	
}
ALL
0 [main] TRACE test.SimpleLogTest  - trace
0 [main] DEBUG test.SimpleLogTest  - debug
0 [main] INFO test.SimpleLogTest  - info
0 [main] WARN test.SimpleLogTest  - warn
0 [main] ERROR test.SimpleLogTest  - error
0 [main] FATAL test.SimpleLogTest  - fatal
TRACE
0 [main] TRACE test.SimpleLogTest  - trace
0 [main] DEBUG test.SimpleLogTest  - debug
0 [main] INFO test.SimpleLogTest  - info
0 [main] WARN test.SimpleLogTest  - warn
0 [main] ERROR test.SimpleLogTest  - error
0 [main] FATAL test.SimpleLogTest  - fatal
DEBUG
16 [main] DEBUG test.SimpleLogTest  - debug
16 [main] INFO test.SimpleLogTest  - info
16 [main] WARN test.SimpleLogTest  - warn
16 [main] ERROR test.SimpleLogTest  - error
16 [main] FATAL test.SimpleLogTest  - fatal
INFO
16 [main] INFO test.SimpleLogTest  - info
16 [main] WARN test.SimpleLogTest  - warn
16 [main] ERROR test.SimpleLogTest  - error
16 [main] FATAL test.SimpleLogTest  - fatal
WARN
16 [main] WARN test.SimpleLogTest  - warn
172 [main] ERROR test.SimpleLogTest  - error
172 [main] FATAL test.SimpleLogTest  - fatal
ERROR
172 [main] ERROR test.SimpleLogTest  - error
172 [main] FATAL test.SimpleLogTest  - fatal
FATAL
172 [main] FATAL test.SimpleLogTest  - fatal
OFF