Java 로깅 vs Log4J
Java 5 프로젝트에 log4j 라이브러리를 추가하여 로그를 기록하는 것이 좋은 롤오버 설정이 있는 파일에 대해 몇 가지 예외가 있다고 가정해 보겠습니다.아니면 표준 util.logging 설비에서도 작업을 수행할 수 있습니까?
당신은 어떻게 생각하나요?
고객님께서 설명해주신 요구에 맞게 util.logging을 이용하시면 됩니다.
적절한 Decision Tree에 대해서는 Log4j와 java.util.logging을 참조해 주십시오.
질문 1: SMTPHandler, NTEventLogHandler 또는 매우 편리한 FileHandler 등 Log4j에 JUL에 없는 똑똑한 핸들러가 필요할 것으로 예상하십니까?
질문 2: 로그 출력 형식을 자주 바꾸고 싶습니까?쉽고 유연한 방법이 필요하십니까?즉, Log4j의 Pattern Layout이 필요합니까?
질문 3: 운용 환경에 복잡한 로깅 구성을 컴파일하여 도입한 후 이를 변경할 수 있는 기능이 반드시 필요하다고 생각하십니까?"이 클래스의 중대 메시지는 지원 담당자에게 이메일로 발송됩니다.클래스 서브셋의 중대 메시지는 서버상의 syslog deamon에 기록됩니다.클래스의 다른 서브셋의 경고 메시지는 네트워크 드라이브A 상의 파일에 기록됩니다.그 후 모든 곳에서 온 메시지는 f에 기록됩니다.네트워크 드라이브 B"를 선택합니다.이틀에 한번 꼴로 수정하는 게 보이세요?
위의 질문 중 하나에 "예"라고 대답할 수 있는 경우 Log4j로 이동합니다.만약 당신이 모든 것에 대해 확실히 아니라고 대답한다면, JUL은 충분하고도 남으며, SDK에 이미 SDK에 포함되어 있습니다.
그렇긴 하지만, 최근 거의 모든 프로젝트에는 log4j가 포함되어 있는 것 같습니다.다른 라이브러리가 log4j를 사용하고 있기 때문입니다.
Simple Logging Passide for Java(SLF4J) 사용을 권장합니다.Log4J를 포함하는 다양한 공급자를 지원하며 Apache Commons Logging을 대체할 수 있습니다.
Log4j는 오랜 기간 사용되었으며 매우 잘 작동합니다.이를 뒷받침할 과학적 연구는 없지만, 다수의 클라이언트에서 본 것을 보면 다른 어떤 것보다 더 많이 사용되는 로깅 프레임워크가 쉽게 보입니다.이것은 오랫동안 존재해 왔지만, Next Big Logging Framework로 대체되지는 않았습니다.
셋업은 매우 간단하며 기본적인 부록(출력)을 익히기 쉽습니다.다음과 같은 전체 호스트 추가 기능을 사용할 수 있습니다.
- 콘솔 어펜더
- Daily Rolling File Appender
- 외부 Rolled File Appender
- 파일 어펜더
- JDBC 어펜더
- JMSAppender(JMSAppender)
- NTEvent Log Appender
- Rolling File Appender
- SMTPPPender
- 소켓 어펜더
- Syslog Appender
- Telnet Appender
- Writer Appender
그리고 다른 것도.첨부파일을 직접 작성하는 것도 어렵지 않습니다.또한 각 부록에는 로그에 출력되는 내용을 구체적으로 제어할 수 있는 유연성이 매우 높습니다.
참고로 log4j 외에 apache commons logging을 사용했을 때 classloader 문제가 있었습니다.특정 어플리케이션 1개뿐이었지만 커먼즈 로깅과 같은 추상화 레이어를 사용할 때 유연성을 제공하는 것보다 log4j만 사용하는 것이 더 간단하다는 것을 알았습니다.
상세한 것에 대하여는, 다음의 문서를 참조해 주세요.
행운을 빕니다.
java.displaces.displaces는 포괄적인 로깅 패키지를 제공합니다.다른 일부에서 제공되는 과도한 짐은 없습니다.
log4j는 전체적으로 훨씬 더 좋은 패키지이며 java.displaces.displaces에는 딸꾹질이 포함되어 있지 않습니다.commons logging을 사용하는 것보다 log4j를 직접 사용하는 것이 더 쉽다고 생각합니다.
로깅 인터페이스로 Apache Commons Logging을 사용할 것을 권장합니다.따라서 필요에 따라 언제든지 코드를 변경하지 않고 로깅 구현을 전환할 수 있습니다.
log4j로 하겠습니다.log4j의 가능성이 전혀 없어지지 않았습니다!
언급URL : https://stackoverflow.com/questions/31840/java-logging-vs-log4j
'it-source' 카테고리의 다른 글
해질녘에 기다리고 있어Unsecure.park(네이티브 메서드) (0) | 2022.10.31 |
---|---|
Python Request Post(파라미터 데이터 포함) (0) | 2022.10.31 |
사전의 키를 인쇄하는 방법 (0) | 2022.10.31 |
MySQL 데이터베이스가 XAMPP Manager-osx에서 시작되지 않음 (0) | 2022.10.30 |
테이블 'db_session'은 'DELETE'의 대상과 별도의 데이터 소스로 두 번 지정됩니다. (0) | 2022.10.30 |