IT이야기

java.util.logging을 사용한 좋은 예

cyworld 2022. 6. 28. 23:17
반응형

java.util.logging을 사용한 좋은 예

프로그램에서 로그를 사용하고 싶다.java.util.logging에 대해 들었는데 어떻게 시작해야 할지 모르겠어요.

로깅을 통해 수행할 수 있는 작업의 예가 있습니까?자체 프로그램에서 로그인을 사용하는 방법은 무엇입니까?

java.util.logging 응용 프로그램에서 jar 파일을 하나 더 조작할 필요가 없으며, 좋은 포맷터에서도 잘 작동합니다.

일반적으로 모든 클래스의 톱에는 다음과 같은 기능이 있습니다.

private static final Logger LOGGER = Logger.getLogger( ClassName.class.getName() );

그러면 로거 클래스의 다양한 설비를 이용할 수 있습니다.


실행 흐름의 최상위 수준에서 디버깅하는 모든 경우에 사용합니다.

LOGGER.log( Level.FINE, "processing {0} entries in loop", list.size() );

사용하다Level.FINER/Level.FINEST루프 내부 및 기본적인 흐름 문제를 디버깅할 때 항상 상세하게 표시할 필요는 없는 장소:

LOGGER.log( Level.FINER, "processing[{0}]: {1}", new Object[]{ i, list.get(i) } );

파라미터화된 버전의 로깅 패실리티를 사용하여 GC가 대응해야 하는 대량의 String 연결 가비지를 생성하지 않도록 합니다. Object[]통상, 스택 할당에서는, 상기의 코스트가 싸기 때문에.


예외 처리의 경우 항상 완전한 예외 세부 정보를 기록합니다.

try {
    ...something that can throw an ignorable exception
} catch( Exception ex ) {
    LOGGER.log( Level.SEVERE, ex.toString(), ex );
}

나는 항상 합격한다.ex.toString()이 메세지로써, 왜냐하면 그때 내가...grep -n「」의 경우, 「」의 경우는, 「」를 참조해 주세요.Exception로그 파일에서도 메시지를 볼 수 있습니다.그렇지 않으면 스택 덤프에 의해 생성된 다음 출력 행에 배치되며, 해당 행에 일치하려면 고급 RegEx가 필요합니다. 따라서 필요한 것보다 더 많은 출력을 얻을 수 있습니다.

로거를 다음과 같이 선언해야 합니다.

private final static Logger LOGGER = Logger.getLogger(MyClass.class.getName());

그래서 반 이름을 바꾸면 그 뒤에 나옵니다.

여기에 java logger에 대한 예를 들어 기사를 썼습니다.

로깅에는 여러 가지 예가 있으며 종류도 다양합니다.java.util.logging 패키지를 확인합니다.

코드 예:

import java.util.logging.Logger;

public class Main {

  private static Logger LOGGER = Logger.getLogger("InfoLogging");

  public static void main(String[] args) {
    LOGGER.info("Logging an INFO-level message");
  }
}

클래스 이름을 하드 코딩하지 않은 경우:

import java.util.logging.Logger;

public class Main {
  private static final Logger LOGGER = Logger.getLogger(
    Thread.currentThread().getStackTrace()[0].getClassName() );

  public static void main(String[] args) {
    LOGGER.info("Logging an INFO-level message");
  }
}

언급URL : https://stackoverflow.com/questions/5950557/good-examples-using-java-util-logging

반응형