it-source

Java 로깅 vs Log4J

criticalcode 2022. 10. 31. 23:58
반응형

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로 대체되지는 않았습니다.

셋업은 매우 간단하며 기본적인 부록(출력)을 익히기 쉽습니다.다음과 같은 전체 호스트 추가 기능을 사용할 수 있습니다.

  1. 콘솔 어펜더
  2. Daily Rolling File Appender
  3. 외부 Rolled File Appender
  4. 파일 어펜더
  5. JDBC 어펜더
  6. JMSAppender(JMSAppender)
  7. NTEvent Log Appender
  8. Rolling File Appender
  9. SMTPPPender
  10. 소켓 어펜더
  11. Syslog Appender
  12. Telnet Appender
  13. 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

반응형