logger는 자신을 소유한 클래스의 이름을 사용해야 합니다

 

loggerlogger를 소유한 각 클래스의 이름을 적는 것이 컨벤션입니다. 이렇게 함으로서 logger 설정이 더 명확하게 만들어줍니다. 클래스 이름을 적는 컨벤션을 지키면 각 클래스의 logger들이 엉켜 설정이 혼란스러워지는 상황을 방지합니다. SLF4J같은 일부 라이브러리에서는 이러한 상황이 벌어질 때 경고를 하지만, 모든 라이브러리가 그런 것은 아닙니다.

이 규칙은 logger에 자신을 소유한 클래스 이름이 지정되지 않았을 때 문제임을 알립니다.

규칙을 어긴 코드

public class MyClass {
  private final static Logger LOG = LoggerFactory.getLogger(WrongClass.class);  // 규칙을 어긴 코드; 같은 logger를 여러 클래스가 사용하게 됩니다
}

규칙을 준수한 코드

public class MyClass {
  private final static Logger LOG = LoggerFactory.getLogger(MyClass.class);
}

If you like SONARKUBE, don’t forget to give me a star. :star2:

원문으로 바로가기

Star This Project