SeouliteLab

[Java/자바] 로그 출력, 파일 저장 방법 (Logger 라이브러리) 본문

프로그래밍

[Java/자바] 로그 출력, 파일 저장 방법 (Logger 라이브러리)

Seoulite Lab 2024. 3. 6. 13:15

Java에서 로그를 출력하고 파일에 저장하기 위해 Logger 라이브러리를 사용할 수 있습니다. 이 라이브러리는 로깅 기능을 제공하여 프로그램의 실행 상태를 기록하고 분석하는 데 도움이 됩니다. 아래에서는 Logger 라이브러리의 사용 방법과 예제를 살펴보겠습니다.

예제 1: Logger 객체 생성

import java.util.logging.Logger;

Logger logger = Logger.getLogger("MyLogger");

Logger.getLogger() 메서드를 사용하여 Logger 객체를 생성합니다. 이때 getLogger() 메서드의 인자로는 로그의 이름을 지정합니다.

예제 2: 로그 출력하기

logger.info("Information message");
logger.warning("Warning message");
logger.severe("Severe message");

Logger 객체의 info(), warning(), severe() 메서드를 사용하여 각각 정보, 경고, 심각한 수준의 로그를 출력할 수 있습니다.

예제 3: 파일에 로그 저장하기

import java.util.logging.FileHandler;
import java.util.logging.SimpleFormatter;

FileHandler fileHandler = new FileHandler("log.txt");
fileHandler.setFormatter(new SimpleFormatter());
logger.addHandler(fileHandler);

FileHandler를 사용하여 로그를 파일에 저장할 수 있습니다. SimpleFormatter를 사용하여 간단한 형식으로 로그를 포맷합니다.

예제 4: 로그 레벨 설정하기

logger.setLevel(Level.INFO);

Logger의 setLevel() 메서드를 사용하여 출력할 로그의 최소 레벨을 설정할 수 있습니다. INFO 레벨로 설정하면 INFO 레벨 이상의 모든 로그가 출력됩니다.

예제 5: 포매터 커스터마이징

class MyFormatter extends SimpleFormatter {
    @Override
    public String format(LogRecord record) {
        return record.getLevel() + ": " + record.getMessage() + "\n";
    }
}

fileHandler.setFormatter(new MyFormatter());

로그를 원하는 형식으로 출력하기 위해 Formatter를 커스터마이징할 수 있습니다. 이를 위해 SimpleFormatter를 상속받아 format() 메서드를 오버라이딩합니다.