일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- AES
- Postman
- RSA
- 자바 암호화
- Log4J
- PKCS
- sha1
- xlet
- Runnable
- String
- Java
- date
- IPTV
- Instrumentation
- 암호학
- Executors
- 한글조사처리
- 한글조사
- DAMO
- mac
- StringUtils
- Callable
- 이클립스 플러그인 개발
- Executor
- 자바
- JCE
- PKCS#8
- Freemaker
- ACAP
- ORM
- Today
- Total
목록Log4J (6)
오늘은 어디로 갈까...
오늘은 log4j의 Filter 기능과 설정파일 직접(?) 지정하기에 대해서 알아보겠다. 필터(Filter)기능이란 로그 이벤트가 합당한 조건에 일치하는가를 판단하는 기능이다. Appender에 Filter를 설정해서 사용할 수 있다. 자세한 사항은 이전에 끄적였던 글(http://blog.kangwoo.kr/40)로 대체한다. ^^; log4j는 기본적으로 클래스패스(classpath)에서 log4j.xml나 log4j.properties 파일을 찾아서 설정 정보를 읽어온다. 이 설정정보 파일을 명시적으로 지정하려면 어떻게 해야할까? 모르겠다. 삽을 들자. --; 일반적으로 Logger.getLogger(String) 메소드를 이용해서 로거를 할당 받는다. public class Logger exten..
1.3. log4j.xml - 또 하나의 설정 파일인 log4j.xml에 대해 알아보자. 단순히 log4j.properties 파일을 XML 형식으로 만든것이라고 보면된다. (클래스패스에 log4j.xml, log4j.properties 두 파일이 동시에 존재하면 log4j.xml가 우선시 된다.) ### log messages to stdout ### log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPatte..
지난 시간에는 Logging Facade Libraries에 대해서 알아보았다. 오늘은 진짜(?) Logging Libraries에 대해 알아보도록하자. 가장 유명한게 log4j와 jdk14Logger가 있겠다. 여기서는 log4j만 다루도록 하겠다. 1. log4j log4j는 로깅(logging)을 위한 라이브러리이다. 현재 Apache의 서브프로젝트로서, 홈페이지는 http://logging.apache.org이다. 이 log4j의 가장 큰 특징은 계층(category) 로거라 불리우는 것인데, 로거(logger)를 사용할때 "카테고리(category)"라는 이름을 붙여서 사용한다. 이렇게함으로서 여러 소스로부터 출력되는 로거들중에 필요한 부분만을 로깅할 수가 있는것이다. log4j의 또 하나의 특..
프로그램 개발을 할때 가장 중요한 부분이 로그(log) 처리부분이 아닐까 생각한다. 신규 개발은 물론 유지/보수 할때에도 로깅을 얼마나 체계적으로 잘 사용하느냐에 따라서 작업하기가 한결 수월해질 수 있다. 자바에서는 1.4부터 java.util.logging 패키지가 포함되어 자체적으로 지원을 하고 있지만, 뒤늦게 출현한 덕분인지, 아니면 모양새가 맘에 안들어서 그런지 잘 사용이 안되고 있다. 아마 대부분 log4j를 사용하고 있는것으로 알고 있다.(아닐수도 있다~) 그런데 재미있는것은 이 로깅 라이브러리를 facade 하는 라이브러리도 존재한다는것이다. 간단히 말해서 기존 로깅 라이브러리를 wrapping해서 사용한다고 할 수 있는데, 로깅 요청을 기존에 존재하는 로깅 라이브러리(log4j같은)로 전달..
요즘 이사준비로 정신이 없다. 왜이렇게 짐이 많은지.... 왠만한건 다 버릴려고 해도, 책이랑 문서는 이상하게 버릴수가 없다... 전혀 관리를 안해줬더니 곰팡이랑 동거를 시작해버린 종이들... 아 슬프다... ㅠㅠ 하지만, 더 슬픈것은... 짐 싸다 말구, 책들을 읽고 있는 나의 불쌍한 모습... 흑흑 ㅠㅠ 병이로다... 그 책들속에서 한장의 종이를 발견했는데, 거기에는 자바 코드가 있었다. 열심히 머리를 굴려본결과, 예전에 만든 로그 뷰어의 코드 같았다. (org.apache.log4j.net.SocketAppender를 응용해서, 다수의 서버에서 발생하는 로그를 한곳에서 모니터링하는 그런 프로그램이다.) 그리고 그 코드 옆에 chainsaw라는 낙서가 적혀있었는데... chainsaw? 전기톱? 저걸..
log4j에는 필터(Filter)기능이 존재한다. (1.2 기준으로 설명하겠다.) log4j 로깅이 일어날때, 즉, LoggingEvent가 발생하게 될때, 이 필터를 이용해해서 해당 이벤트를 무시할 수 있는것이다. 즉, 로깅(logging) 할때 특정 부분은 출력을 안할 수도 있고, 특정 부분만 출력하게 할 수 있다는 것이다. 하지만 주의할것은 DOMConfigurator은 이 필터 기능을 지원하는데, PropertyConfigurator은 지원하지 않는다. 쉽게 말하자면 xml 설정파일을 이용하면 필터기능을 사용할 수 있고, property 설정 파일을 사용하면 필터기능을 사용할 수 없다는 것이다. 이 필터 기능을 사용하기위해서는 org.apache.log4j.spi.Filter 클래스를 상속받아 d..