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
'IT이야기' 카테고리의 다른 글
Vue/Vuex 서브스크라이버가 기동하지 않는 이유는 무엇입니까? (0) | 2022.06.28 |
---|---|
Vuex에서 값을 반환하는 VueJ가 작동하지 않음 (0) | 2022.06.28 |
Nuxt - 글로벌 믹스인에서 Getter를 호출하는 방법 (0) | 2022.06.27 |
드래그 클릭을 방지하려면 어떻게 해야 합니까? (0) | 2022.06.27 |
mocha 및 styles-resources-loader가 있는 Vue.js는 종속성 sass를 로드할 수 없습니다. (0) | 2022.06.27 |