프로필#log4j.rootLogger=info,stdoutdebug,error log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.logger.info=info log4j.appender.info=org.apache.log4j.DailyRollingFileAppender log4j.appender.info.layout=org.apache.log4j.PatternLayout log4j.appender.info.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.info.datePattern='.'yyyy-MM-dd log4j.appender.info.Threshold = INFO log4j.appender.info.append=true log4j.appender.info.File=${catalina.home}/logs/log4j/info.log log4j.logger.debug=debug log4j.appender.debug=org.apache.log4j.DailyRollingFileAppender log4j.appender.debug.layout=org.apache.log4j.PatternLayout log4j.appender.debug.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.debug.datePattern='.'yyyy-MM-dd log4j.appender.debug.Threshold = DEBUG log4j.appender.debug.append=true log4j.appender.debug.File=${catalina.home}/logs/log4j/debug.log log4j.logger.warn=warn log4j.appender.warn=org.apache.log4j.DailyRollingFileAppender log4j.appender.warn.layout=org.apache.log4j.PatternLayout log4j.appender.warn.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.warn.datePattern='.'yyyy-MM-dd log4j.appender.warn.Threshold = DEBUG log4j.appender.warn.append=true log4j.appender.warn.File=${catalina.home}/logs/log4j/warn.log log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender log4j.appender.error.layout=org.apache.log4j.PatternLayout log4j.appender.error.layout.ConversionPattern=[%-5p] [%d{HH:mm:ss}] %c - %m%n log4j.appender.error.datePattern='.'yyyy-MM-dd log4j.appender.error.Threshold = ERROR log4j.appender.error.append=true log4j.appender.error.File=$${catalina.home}/logs/log4j/error.log Conversion Pattern 출력 형식 설정 매개 변수 설명:%p: 출력 로그 정보 우선 순위, 즉 DEBUG, INFO, WARN, ERROR, FATAL,%d: 출력 로그 시점의 날짜 또는 시간, 기본 형식은 ISO8601이며, 그 다음에%d{yyy MMM dd H:mm:ss, SSS},출력 유사: 2011년 08월 30일 15:00:00921%r: 출력은 응용 프로그램이 시작하여 이 로그 정보를 출력하는 데 소모되는 밀리초수%c: 출력 로그 정보가 속하는 클래스입니다. 보통 클래스의 전체 이름%t: 출력이 로그 이벤트를 생성하는 루트 이름%l: 출력 로그 이벤트의 발생 위치는%C.%M(%F:%L)의 조합에 해당합니다. 클래스 이름, 발생하는 루트, 코드에 있는 줄 수를 포함합니다.예: Testlog4.main(TestLog4.java:10)%x: 현재 스레드와 연결된 NDC(중첩 진단 환경)를 출력합니다. 특히 자바 servlets와 같은 다중 클라이언트 다중 스레드의 응용에 사용됩니다.%:% 문자를 출력합니다% F: 출력 로그 메시지가 생성될 때 파일 이름% L: 출력 코드의 줄 번호% m: 출력 코드에 지정된 메시지, 생성된 로그 세부 정보% n: 리턴 줄 바꿈, Windows 플랫폼은'\r', Unix 플랫폼은''출출 일지 정보 줄 바꿈은% 와 패턴 문자 사이에 수식자를 붙여서 최소 너비, 최대 너비, 텍스트의 정렬 방식을 제어할 수 있습니다.예를 들어 1)%20c: 출력category의 이름을 지정합니다. 최소 너비는 20이고,category의 이름이 20보다 작으면 기본적으로 오른쪽으로 정렬합니다.2)%-20c: 출력category의 이름을 지정합니다. 최소 너비는 20입니다. 만약category의 이름이 20보다 작다면, "-"번호는 왼쪽 정렬을 지정합니다.3)%.30c: 출력category의 이름을 지정합니다. 최대 너비는 30입니다. 만약category의 이름이 30보다 크면 왼쪽에 더 많은 문자를 차단하지만 30보다 작으면 공백이 없습니다.4)%20.30c:category의 이름이 20보다 작으면 공백을 보충하고 오른쪽으로 정렬합니다. 이름이 30자보다 길면 왼쪽에서 멀리 떨어진 문자를 잘라냅니다.프로그램에서 사용: 프로그램에서 Log4j를 사용하기 전에commons-logging을 먼저 사용해야 합니다.jar와logging-log4j-1.2.9.jar를classpath에 가져오고log4j.properties는 src 루트 디렉터리에 있습니다.여기에서commons-logging과log4j를 결합하여 로그 기록을 하는 것을 추천합니다