반응형
목차
log4j란?
- log4j는 자바 언어용 로깅 프레임워크로, 애플리케이션에서 로그 메시지를 관리하고 출력하는 데 사용됩니다.
- 로그 레벨, 로그 메시지 형식, 로그 파일 관리 등의 다양한 설정을 지원하여 애플리케이션 로깅을 효과적으로 관리할 수 있습니다.
- 로그 메시지를 콘솔, 파일, 데이터베이스, 원격 서버 등 다양한 대상으로 출력할 수 있습니다.
- 다양한 로그 레벨로서 debug, info, warn, error, fatal 등을 제공하여 로그 메시지의 중요도를 표현할 수 있습니다.
java.util.logging 차이점
- java.util.logging (JUL):
- java.util.logging은 Java 언어의 표준 로깅 API로 제공됩니다. JDK에 기본적으로 포함되어 있어 별도의 라이브러리를 추가로 사용할 필요가 없습니다.
- JDK의 내장된 로깅 시스템으로, Java 표준 라이브러리를 사용하는 애플리케이션에 통합하기 용이합니다.
- 기본적인 로그 기능을 제공하며, 로그 레벨(SEVERE, WARNING, INFO, CONFIG, FINE, FINER, FINEST)과 로그 메시지 형식을 지원합니다.
- 설정 가능하지만 비교적 유연성이 떨어져서 고급 로깅 기능이 필요한 경우에는 제한될 수 있습니다.
- log4j:
- log4j는 Apache Software Foundation에서 개발한 로깅 프레임워크로, 더 풍부한 로깅 기능을 제공합니다.
- 다양한 로그 레벨(DEBUG, INFO, WARN, ERROR, FATAL)을 지원하며, 세밀한 로그 레벨 관리가 가능합니다.
- 다양한 로그 출력 형식과 대상 (콘솔, 파일, 데이터베이스, 원격 서버 등)을 지원하여 설정 가능합니다.
- 로그 메시지의 형식을 유연하게 설정할 수 있으며, 로깅의 필요한 모든 기능을 다양한 Appender, Layout 등을 통해 구성 가능합니다.
- 로그 설정을 XML 파일 등으로 관리할 수 있어 환경 변경 없이 로깅 설정을 수정할 수 있습니다.
주로 다음과 같은 차이점을 갖습니다:
- java.util.logging은 Java 표준 라이브러리에 내장되어 있어 추가적인 라이브러리를 사용할 필요가 없습니다. 반면 log4j는 외부 라이브러리로 추가되어야 합니다.
- log4j는 풍부한 기능과 설정 가능성을 가지며, 유연하게 로깅을 구성할 수 있습니다. 반면 java.util.logging은 더 간단한 설정과 로깅 기능을 제공합니다.
- log4j는 커스텀 Appender와 Layout을 구현하여 로그를 다양한 대상과 형식으로 출력하는 것이 가능합니다.
기능이 log4j가 더 좋기 때문에 웬만하면 log4j를 사용합니다.
톰캣에서 log4j 사용
- log4j.properties다음 내용으로 호출되는 파일을 생성 하고 다음 위치에 저장합니다.$CATALINA_BASE/lib
log4j.rootLogger = INFO, CATALINA
# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File = ${catalina.base}/logs/manager
log4j.appender.MANAGER.Append = true
log4j.appender.MANAGER.Encoding = UTF-8
log4j.appender.MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.HOST-MANAGER = org.apache.log4j.DailyRollingFileAppender
log4j.appender.HOST-MANAGER.File = ${catalina.base}/logs/host-manager
log4j.appender.HOST-MANAGER.Append = true
log4j.appender.HOST-MANAGER.Encoding = UTF-8
log4j.appender.HOST-MANAGER.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Encoding = UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\
INFO, HOST-MANAGER
- Log4J를 다운로드합니다 (Tomcat에는 v1.2.x가 필요함).
- 다운로드하거나 빌드 tomcat-juli.jar하고 tomcat-juli-adapters.jarTomcat의 "추가" 구성 요소로 사용할 수 있습니다. 자세한 내용은 추가 구성 요소 설명서를 참조하십시오 .
- 이는 tomcat-juli.jar기본 설정과 다릅니다. 여기에는 완전한 Apache Commons Logging 구현이 포함되어 있으므로 log4j의 존재를 발견하고 자체적으로 구성할 수 있습니다.
- 전역적으로 log4j를 사용하도록 Tomcat을 구성하려는 경우:
- "extras"에서 에 log4j.jar넣 습니다 .tomcat-juli-adapters.jar$CATALINA_HOME/lib
- "extras"에서 $CATALINA_HOME/bin/tomcat-juli.jar교체 하십시오 .tomcat-juli.jar
- $CATALINA_HOME별도 의 Tomcat을 실행 중이고 $CATALINA_BASE단일에서만 log4j를 사용하도록 구성하려는 경우 $CATALINA_BASE:
- 존재하지 않는 경우 $CATALINA_BASE/bin및 디렉토리를 생성합니다 .$CATALINA_BASE/lib
- " extras " log4j.jar에서 tomcat-juli-adapters.jar$CATALINA_BASE/lib
- tomcat-juli.jar"extras"에서 다음과 같이 넣습니다 .$CATALINA_BASE/bin/tomcat-juli.jar
- 보안 관리자 로 실행 중인 경우 $CATALINA_BASE/conf/catalina.policy파일을 편집하여 tomcat-juli.jar의 다른 복사본을 사용하도록 조정 해야 합니다 .
- 참고: tomcat-juli.jar는 부트스트랩 프로세스의 일부로 로드되고 모든 부트스트랩 클래스가 bin에서 로드되기 때문에 /lib $CATALINA_BASE가 아닌 / bin에서 로드됩니다.$CATALINA_BASE
- 길이가 0인 로그 파일을 생성하는 java.util.logging을 방지하려면 삭제하십시오 $CATALINA_BASE/conf/logging.properties.
- 톰캣 시작
반응형
'WEB,WAS > TOMCAT' 카테고리의 다른 글
서블릿(Servlet) 이란? (0) | 2023.08.09 |
---|---|
Exception in thread "main" sun.jvm.hotspot.types.WrongTypeException: No suitable match for type of address (0) | 2023.08.02 |
EJB란 무엇인가? (0) | 2023.07.06 |
Tomcat 9 관리자 접속하기 및 사용하지 않는 이유 (0) | 2023.02.23 |
Apache 2.4.X 설치 및 실행 for Windows 11 (0) | 2022.12.08 |
댓글