log4j 초기 화
5703 단어 자바
기본 Log4j initialization 의 전형 적 인 응용 은 웹 - server 환경 에서 이 루어 집 니 다.tomcat 3. x 와 tomcat 4. x 에서 설정 파일 Log4j. properties 를 웹 프로그램의 WEB - INF / classes 디 렉 터 리 에 두 어야 합 니 다. Log4j 는 속성 파일 을 발견 하고 초기 화 합 니 다.이것 은 그것 을 일 하 게 하 는 가장 쉬 운 방법 이다. tomcat 를 실행 하기 전에 시스템 속성 Log4j. configuration 을 설정 할 수도 있 습 니 다.tomcat 3. x, TOMCATOPTS 시스템 변 수 는 명령 행 을 설정 하 는 옵션 입 니 다.tomcat 4.0 에 대해 시스템 환경 변수 CATALINAOPTS 가 TOMCAT 를 대 체 했 습 니 다.OPTS。
유 닉 스 명령 행 export TOMCAT_OPTS="-DLog4j.configuration=foobar.txt"
Log4j 에 게 파일 foobar. txt 를 기본 설정 파일 로 알려 줍 니 다.이 파일 은 WEB - INF / classes 디 렉 터 리 에 두 어야 합 니 다.이 파일 은 Property Configurator 에서 읽 을 것 입 니 다.모든 웹 - application 은 웹 - application 과 관련 된 기본 설정 파일 을 사용 합 니 다.
서로 다른 웹 - application 은 클래스 로 더 를 통 해 Log4j 를 불 러 옵 니 다.이렇게 하면 모든 Log4j 의 환경 은 서로 동기 화 되 지 않 고 독립 적 으로 작 동 될 것 이다.예 를 들 어 여러 웹 - application 에서 똑 같은 출력 원 을 정의 한 FileAppenders 는 같은 파일 을 쓰 려 고 시도 합 니 다.결 과 는 안전성 이 부족 한 것 같다.웹 - application 의 Log4j 설정 이 같은 시스템 자원 을 사용 하지 않 았 는 지 확인 해 야 합 니 다.
2. Servlet 초기 화
Log4j 를 특별한 servlet 로 초기 화 하 는 것 도 가능 합 니 다.다음 과 같은 예 입 니 다.
자바 코드
public class Log4jInit extends HttpServlet { public void init() { String prefix = getServletContext().getRealPath("/"); String file = getInitParameter("Log4j-init-file"); if(file != null) { PropertyConfigurator.configure(prefix+file); } } public void doGet(HttpServletRequest req, HttpServletResponse res) { } }
웹. xml 에서 다음 servlet 를 웹 - application 으로 정의 합 니 다.
Xml 코드
Log4j-init xx.xx.Log4jInit Log4j-init-file WEB-INF/classes/Log4j.properties 1
초기 화 된 servlet 를 쓰 는 것 은 Log4j 를 가장 탄력 있 게 초기 화 하 는 방법 입 니 다.코드 에 제한 이 없습니다. servlet 의 init 방법 에서 정의 할 수 있 습 니 다.
3. 설정 파일 에 따라 log4j 초기 화
log4j 는 3 개의 설정 기 를 사용 하여 초기 화 할 수 있 습 니 다. Basic Configurator, DOMConfigurator, Property Configurator 의 문법 은 다음 과 같 습 니 다.
Property Configurator 를 사용 하면 모든 시스템 에 적 용 됩 니 다.다음 문장: PropertyConfigurator.configure("log4j.properties");
로그 4j. properties 를 설정 파일 로 로그 4j 환경 을 초기 화 했 습 니 다.주의: 이 문 구 는 시스템 이 시 작 될 때 한 번 만 실행 해 야 합 니 다.
예 를 들 어 ActionServlet 의 init () 방법 에서 한 번 호출 합 니 다.
자바 코드
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.