sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  
생성한 클래스는 ContextFileAppender 와 ContextRollingFileAppender 이다.
jar로 추가하기에는 너무나 초라한... ^^;
사용법은 log4j.properties 참조할 것

클라이언트 IP를 Appender에 넘겨주기 위해서 Servlet 시작시에 다음과 같은 코드를 삽입해야 한다.

 

try {   

    Class.forName("org.apache.log4j.MDC");   

    MDC.put("IP", request.getRemoteHost());   

catch (ClassNotFoundException ex) {   

    if (log.isWarnEnabled()) {   

        log.warn("클래스를 찾을 수 없습니다.", ex);   

    }   

}



OR


try {

//-- 요청된 원격 IP를 취한다

String ip = null;

Enumeration headers = request.getHeaders("X-FORWARDED-FOR");

if (headers != null) {

while (headers.hasMoreElements()) {

String[] ips = headers.nextElement().toString().split(",");

int count = ips.length;


for (int i = 0; i < count; i++) {

String proxy = ips[i].trim();


if (!"unknown".equals(proxy)

&& !(proxy == null || "".equals(proxy.trim()))) {

ip = proxy;

}

}

}

}

if (ip == null) {

ip = request.getRemoteAddr();

}

//-- MDC 영역에 IP 를 저장한다

Class[] parameterTypes = { String.class, Object.class };

Object[] args = { "IP", ip };

Class.forName("org.apache.log4j.MDC").getMethod("put", parameterTypes).invoke(null, args);


if (log.isDebugEnabled()) {

log.debug("registerLogContext(): ip=" + ip);

}

} catch (Throwable th) {

if (log.isDebugEnabled()) {

log.debug("Could not initialize Log4j");

}

}



MDC 영역에 클라이언트 IP를 삽입하는 구문이다.
번호 제목 글쓴이 날짜 조회 수
38 Digester/FAQ 황제낙엽 2010.10.16 273
37 RuleXML 작성법 황제낙엽 2009.01.20 212
36 유용한 링크 황제낙엽 2009.01.20 105
35 Digester.peek(int n) 메서드의 고찰 황제낙엽 2008.08.26 124
34 Rule클래스의 작성 및 RuleXml 파일 작성 예제 file 황제낙엽 2008.05.15 113
33 Package org.apache.commons.digester Description - V1.8 (해석중) 황제낙엽 2008.05.15 228
32 Including programmatically-created rules: 의 고찰 황제낙엽 2008.05.14 111
31 Digester 의 xmlrules 를 이용하여 Properties 파일 읽어들이기 황제낙엽 2008.05.14 140
30 Parsing and Processing Large XML Documents with Digester Rules (해석중) file 황제낙엽 2008.05.13 1606
29 Package org.apache.commons.digester.xmlrules 황제낙엽 2008.05.13 136
28 Digester가 제공하는 기본 Rule을 이용한 예제 프로젝트 분석 file 황제낙엽 2008.05.13 260
27 Digester 의 소개 및 기본적인 사용법 황제낙엽 2008.05.09 155
26 Parsing, indexing, and searching XML with Digester and Lucene 황제낙엽 2008.05.07 585
25 Digester란? 황제낙엽 2008.05.07 166
» 접속 클라이언트의 아이피별로 로그 화일 기록하기 file 황제낙엽 2009.06.01 272
23 영문 메뉴얼 (PDF) file 황제낙엽 2009.05.29 103
22 사용자 정의 Appender 정의하여 Log4j 확장하기 황제낙엽 2009.05.28 328
21 POI - HSSF 예제 프로젝트 file 황제낙엽 2008.05.16 126
20 POI 셀 스타일 설정을 위한 예제 소스 file 황제낙엽 2008.05.16 1489
19 POI HSSF 기능 가이드 -- 퀵·가이드 (한글) 황제낙엽 2008.05.16 473