|
카테고리
전체
제갈장비-Linux 제갈장비-TOMCAT 제갈장비-JAVA -------------------- 문서-Linux 문서-Powerbuilder 문서-JAVA 문서-ASP 문서-하드웨어 문서-EDPS 문서-MSSQL -------------------- TIP-JAVA TIP-Perl TIP-ASP TIP-Powerbuilder 01 TIP-Javascript TIP-Excel TIP-XML TIP-MSAccess TIP-PostgreSql TIP-Windows TIP-Linux TIP-HTML TIP-TOMCAT -------------------- ETC Secret Util-Japan 미분류 최근 등록된 덧글
잘읽어 보았습니다. 그런..
by 이윤철 at 11/07 1000 666 by qhrlfeh77 at 05/21 123 by qhrlfeh77 at 05/21 by qhrlfeh77 at 05/21 감사합니다!! HashSet.. by 세레네이 at 04/06 찾고 있었던 자료인데 .. by 나그네 at 01/09 감사합니다. 잘 보았습.. by 졸면죽는다 at 10/28 좋은 정보 정말 감사합니.. by 강성훈 at 10/22 좋은글 퍼가겠습니다. by 정의진 at 09/29 이제야 봤습니다. iText.. by 제갈장비 at 08/09 이글루 파인더
|
2006년 10월 23일
출처 : http://cafe.naver.com/devmaster.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=30
일반적으로 웹 문서를 찾아보면 log4j-1.2.13.jar를 클래스 패스에 추가 시킨 후 /WEB-INF/classes아래 log4j.properties파일을 넣으면 간단하게 실행이 된다고 써 있다.
그러나 톰캣을 실행 시킬 경우 아래와 같은 문구가 뜨면서 로깅이 안되는 경우가 자주 발생한다.
log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
이것은 log4j.properties를 찾지 못해서 초기화가 안되어 나는 메시지이다. 물론 아래와 같이 콘솔에만 출력하는 경우에는 별로 문제 될 것이 없다.
---------------------------------------------------------------------------------------------------- import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; public class SimpleLog { // Logger 클래스의 인스턴스를 받아온다. static Logger logger = Logger.getLogger(SimpleLog.class); public SimpleLog() {} public static void main(String[] args) { /* 콘솔로 로그 출력 위한 간단한 설정, 이 설정이 없다면 경고 메세지가 출력되면서 실행이 중단된다.*/ BasicConfigurator.configure(); logger.debug("Hello log4j."); logger.info("Hello log4j."); logger.warn("Hello log4j."); logger.error("Hello log4j."); logger.fatal("Hello log4j."); //loger.log( Level.DEBUG , "debug") 와 동일하다. } }
---------------------------------------------------------------------------------------------------------------- 그러나 파일에 출력하면 서 콘솔에 출력하려면 문제가 발생한다. 간단하게 해결하는 방법은 properties파일을 톰캣이 실행되는 /bin 아래 두는 것이다.
그러나 좀더 우아하게 해결하려면 초기화 서블릿을 만들면 된다.
=================================================================================================================
package com.foo;
import org.apache.log4j.PropertyConfigurator;
public class Log4jInit extends HttpServlet {
public void init() {
public void doGet(HttpServletRequest req, HttpServletResponse res) {
=========================================================================================================== 그리고 아래 내용을 web.xml에 추가 시킨다. =============================================================================================================
<servlet>
그리고 다음과 같이 간단하 해 주면 파일과 콘솔에 떨어지는 로그를 볼 수 있다. =======================================================================================================
import org.apache.log4j.Logger; public class CBselectordertot {
private static Logger logger = Logger.getLogger(ip001Impl.class);
public ipcdOut[] getSelectIpcd(String kind,String wherecond){ ...... ...... logger.info("getSelect_ipcd query = "+query); ........
........... } }
==================================================================================================
또 하나의 경우... 코바 서버 같은 것을 구동 시킬경우 로깅을 하기 위해서는 다음과 같이 JVM args를 넣어줘야 한다.(톰캣과는 별개로)
**vizibroker에서 코바 서버구동 예제 vbj -Dlog4j.configuration=file:d:\ipams\WEB-INF\classes\log4j.properties ip002Server
properties예제는 파일에 첨부 했다. 첨부파일 : log4j.properties 원하는 디렉토리에 떨어뜨리는 것인데 이대로 사용해도 훌륭하다.
| |||||