Logging

정태규·2022년 12월 15일
0

java

목록 보기
3/7

Logger 클래스는 log를 출력할 수 있게 도와주는 클래스이다.
바로 코드로 살펴보자.


import java.util.logging.Level;
import java.util.logging.Logger;

public class LoggingExample1 {

    private static Logger logger = Logger.getLogger(LoggingExample1.class.getName());

    public static void main(String[] args) {

        logger.log(Level.WARNING, "Warning logging");
        logger.log(Level.INFO, "Info logging");
        logger.log(Level.SEVERE, "Severe logging");
    }
}

[output]

Jun 12, 2021 3:04:45 PM LoggingExample1 main
WARNING: Warning logging
Jun 12, 2021 3:04:46 PM LoggingExample1 main
INFO: Info logging
Jun 12, 2021 3:04:46 PM LoggingExample1 main
SEVERE: Severe logging

private static Logger logger = Logger.getLogger(LoggingExample1.class.getName());
Logger객체를 생성해서 getLogger()를 통해 메인 클래스의 이름을 저장한다.

logger.log(Level.WARNING, "Warning logging");

logger.log(log level,"message")
이렇게 쓴다.

level.WARNING은 말그대로 log의 level중 하나이다. 각 레벨은 밑에서 다루겠다.

Level인자 없이 Log 출력

위에서는 logger.log(Level.WARNING,"Warning logging"); 과 같이 Level을 써주었다. 하지만 Level인자 없이도 출력할 수 있다.

logger.warning("Warning logging");
logger.info("Info logging");
logger.severe("Severe logging");
logger.(log의 level)("message")형태로 써주면 된다.

[output]

Jun 12, 2021 3:06:19 PM LoggingExample2 main
WARNING: Warning logging
Jun 12, 2021 3:06:19 PM LoggingExample2 main
INFO: Info logging
Jun 12, 2021 3:06:19 PM LoggingExample2 main
SEVERE: Severe logging

setLevel()

setLevel() method를 통해서 특정 level이상의 log들만 출력 할수도 있다.
level의 순서는 다음과 같다.

  • SEVERE(high)
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST(low)
public class LoggingExample5 {

    private static Logger logger = Logger.getLogger(LoggingExample5.class.getName());

    public static void main(String[] args) {

        logger.setLevel(Level.WARNING);

        logger.warning("Warning logging");
        logger.info("Info logging");
        logger.severe("Severe logging");
    }
}

다음과 같이 setLevel을 WARNING으로 해주었다면, WARNING밑에 단계인 INFO는 출력하지 않게 된다.

[output]

Jun 12, 2021 3:08:33 PM LoggingExample5 main
WARNING: Warning logging
Jun 12, 2021 3:08:33 PM LoggingExample5 main
SEVERE: Severe logging

0개의 댓글