아래 예제 코드는 Logger 클래스를 사용하여 지정된 경로에 로그 파일을 만들고 Logger 설정을 통해 로그 레벨에 따라 메시지를 기록하는 코드입니다.
Logger는 java.util.logging 패키지에서 제공하는 클래스이며, 로그 메시지를 기록하고 관리하는 데 사용됩니다. Logger는 다양한 로그 레벨을 지원하여 애플리케이션의 상태나 오류 등을 기록할 수 있게 해줍니다.
1. Logger 생성
private static final Logger logger = Logger.getLogger(클래스명.getName());
-Logger 객체는 Logger.getLogger 메서드를 사용하여 생성합니다. 이 메서드는 주어진 이름을 가지는 로거를 반환합니다.
2. 로그 레벨 (Log Levels)
-SEVERE: 매우 심각한 오류를 나타내는 메시지
-WARNING: 잠재적인 문제를 나타내는 메시지
-INFO: 일반적인 정보를 나타내는 메시지
-CONFIG: 애플리케이션 설정과 관련된 메시지
-FINE: 세부적인 디버그 메시지
-FINER: 매우 세부적인 디버그 메시지
-FINEST: 가장 세부적인 디버그 메시지
-ALL: 모든 로그 메시지를 기록
-OFF: 로그 메시지를 기록하지 않음
3. Logger 설정
logger.setLevel(Level.INFO);
-Logger의 로그 레벨을 설정하여 특정 레벨 이상의 로그 메시지만 기록할 수 있습니다.
-Logger는 상위 로거의 설정을 상속받습니다. 이를 통해 애플리케이션의 로깅 설정을 계층 구조로 관리할 수 있습니다.
4. 예제코드
import java.io.IOException;
import java.util.logging.FileHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.logging.SimpleFormatter;
public class TEST {
private static final Logger logger = Logger.getLogger(TEST.class.getName());
public static void main(String[] args) throws Exception {
setupLogger();
// 다양한 레벨의 로그 메시지 작성
logger.severe("This is a SEVERE message");
logger.warning("This is a WARNING message");
logger.info("This is an INFO message");
logger.fine("This is a FINE message");
logger.finest("This is a FINEST message");
}
private static void setupLogger() {
try {
// 로그 파일 경로 설정
String filePath = "D:\\logData\\application.log";
// FileHandler를 생성하여 로그 파일 경로 설정
FileHandler fileHandler = new FileHandler(filePath, true);
// SimpleFormatter를 사용하여 로그 포맷 설정
fileHandler.setFormatter(new SimpleFormatter());
// Logger에 FileHandler 추가
logger.addHandler(fileHandler);
// 로거의 로그 레벨 설정
logger.setLevel(Level.ALL);
} catch (IOException e) {
logger.severe("Failed to initialize logger handler.");
e.printStackTrace();
}
}
}
1) Logger 인스턴스 생성
private static final Logger logger = Logger.getLogger(TEST.class.getName());
-Logger.getLogger 메서드를 사용하여 TEST 클래스에 대한 로거 인스턴스를 생성합니다. TEST 클래스와 연관된 로그 메시지를 관리합니다.
2) main 메서드
-setupLogger 메서드를 호출하여 로거를 설정합니다.
-로그 레벨(severe, warning, info, fine, finest)의 로그 메시지를 기록합니다.
3) setupLogger 메서드
-로그 파일의 경로를 D:\\logData\\application.log로 설정합니다.
-FileHandler를 생성하여 로그를 지정된 파일에 기록하도록 설정합니다. 두 번째 인자 true는 기존 파일에 로그를 추가하도록 설정합니다.
-SimpleFormatter를 사용하여 로그 메시지의 형식을 지정합니다.
-생성한 FileHandler를 로거에 추가합니다.
-로거의 로그 레벨을 Level.ALL로 설정하여 모든 로그 메시지를 기록하도록 합니다.
'개발이야기 > Java' 카테고리의 다른 글
[Java] Stream(스트림) API 사용방법, 예제 (0) | 2024.07.02 |
---|---|
[Java] @JsonProperty, @JsonFormat, @JsonIgnore 사용방법, 예제 (Jackson 어노테이션) (0) | 2024.06.18 |
[Java] 문자열에서 숫자만 추출하기 (메서드, 예제코드) (0) | 2024.05.16 |
[Java] Jasypt 암호화, 복호화 사용방법, 예제코드 (0) | 2024.04.14 |
[Java] 특정 문자열 찾기, 포함여부 (contains 메서드 사용방법, 예제) (0) | 2024.02.20 |
댓글