5. LogRecord 클래스
1.LogRecord
로깅 메시지, 로그 레벨을 포함하고 있는 클래스
Logger 객체와 Handler 객체 사이에서 로깅 내용을 전달할 때 사용되는 객체
LogRecord 클래스 내부 구현 코드
LogRecord.java
/**
LogRecord objects are used to pass logging requests between the logging framework and individual log Handlers.
*/
public class LogRecord implements java.io.Serializable {
/**
* Logging message level
*/
private Level level;
/**
* Non-localized raw message text
*/
private String message;
public LogRecord(Level level, String msg) {
this.level = Objects.requireNonNull(level); // 전달받은 인수가 null이 아닌지 확인하는 유틸메서드 requireNonNull()
message = msg;
// Assign a thread ID and a unique sequence number.
sequenceNumber = globalSequenceNumber.getAndIncrement();
long id = Thread.currentThread().getId();
// threadID is deprecated and this value is synthesised for backward compatibility
threadID = shortThreadID(id);
longThreadID = id;
instant = Instant.now();
needToInferCaller = true;
}
}Logger 내부 구현 코드
Logger.java
public void log(Level level, String msg) {
if (!isLoggable(level)) {
return;
}
LogRecord lr = new LogRecord(level, msg); // LogRecord 객체 생성
doLog(lr); // 로깅 수행
}Last updated on