티스토리 뷰

Programming/Java

log4j - 수동설정

파란크리스마스 2013. 2. 4. 17:41
728x90

log4j - 수동설정

package com.server.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;

import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

public class ServerInitServlet extends HttpServlet {
	
	public static String pattern = "%d{HH:mm:ss,SSS} (%p) [%F:%L] -> %m%n";
	
	Logger logger = Logger.getLogger(this.getClass());
	//Logger.getLogger(this.getClass());
	
	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public ServerInitServlet() {
		super();
	}
	
	public void init(ServletConfig cfg) throws ServletException {
		super.init(cfg);
        
        if (!Logger.getRootLogger().getAllAppenders().hasMoreElements()) {
        	
        	Logger.getRootLogger().getLoggerRepository().resetConfiguration();
        	
            // 로그 파일 대한 패턴을 정의
            PatternLayout layout = new PatternLayout(pattern); 
          
            // 생성될 로그 파일의 이름(조건에 따라 로그 파일이름을 따라 다르게...)
            String fileName = ServerConfig.getHome() + "/logs/application.log"; 
         
            // 날짜 패턴에 따라 추가될 파일 이름
            String datePattern = ".yyyyMMdd";
            
            /*
            ConsoleAppender consoleAppender = new ConsoleAppender(layout);
            Logger.getRootLogger().addAppender(consoleAppender);
            */  
        	
    		DailyRollingFileAppender appender = null;        
            try {
                appender = new DailyRollingFileAppender(layout, fileName, datePattern);
                appender.setAppend(true);
            } catch (IOException ioe) {
                ioe.printStackTrace();
            }     
            
            //logger.addAppender(appender);
            //logger.getRootLogger().addAppender(appender);
            
            Logger.getRootLogger().addAppender(appender);
                        
            
            Logger.getRootLogger().setLevel(Level.INFO);
            Logger.getRootLogger().getLoggerRepository().getLogger("com.server.*").setLevel(Level.DEBUG);
            Logger.getRootLogger().getLoggerRepository().getLogger("com.opensymphony.*").setLevel(Level.WARN);
            Logger.getRootLogger().getLoggerRepository().getLogger("org.apache.*").setLevel(Level.WARN);
            Logger.getRootLogger().getLoggerRepository().getLogger("org.springframework.*").setLevel(Level.WARN);
            Logger.getRootLogger().getLoggerRepository().getLogger("com.ibatis.*").setLevel(Level.WARN);
            Logger.getRootLogger().getLoggerRepository().getLogger("java.sql.*").setLevel(Level.WARN);
        }		
    }
}


댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
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 29 30
31
글 보관함