# Log4j Setting file(DEBUG ~ FATAL, OFF 일 경우 로그 사용 안함), 사용 로그 이름(appender 이름)
log4j.rootLogger=INFO, console
# log level and appender
log4j.logger.com.some=DEBUG, console
log4j.logger.com.some.Any=INFO, logfile
log4j.additivity.com.some=false // 상위 로거의 속성을 상속받지 않겠다.(중복 출력하지 않는다)
# Console log
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %l - %m%n
# Daily file log
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.Append=true // restart 시 기존 파일에 추가, false : 새로 씀.
log4j.appender.logfile.Threshold=DEBUG // 이 appender 는 여기 명시된 priority 와 같거나 높은 메세지만 로깅한다
log4j.appender.logfile.ImmediateFlush=true // 로그메세지들이 전혀 버퍼되지 않는 것을 의미하며 대부분의 상황에 적당하다.
log4j.appender.logfile.File=./log_app.csv
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.MaxFileSize=300KB
log4j.appender.logfile.MaxBackupIndex=1 // 최대 파일이 넘어갔을 경우 백업
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{HH:mm:ss}][%-5p](%F:%L) - %m%n
# DB로그를 작성하기 위해서는 위와 같이 DB에 Table을 만들어야 한다
# jdbcappender.jar, ojdbc14.zip 파일 필요.
CREATE TABLE APP_LOG
(
SYSTEMNAME VARCHAR2(100 BYTE),
LOGDATE TIMESTAMP DEFAULT SYSDATE,
LOGLEVEL VARCHAR2(100 BYTE),
MDC1 VARCHAR2(100 BYTE),
MDC2 VARCHAR2(100 BYTE),
MESSAGE VARCHAR2(4000 BYTE),
TROWABLE VARCHAR2(4000 BYTE)
)
log4j.appender.dblog=org.apache.log4j.jdbcplus.JDBCAppender
log4j.appender.dblog.url=jdbc:oracle:thin:@127.0.0.1:1521:MCSDB // DB url 정의
log4j.appender.dblog.dbclass=oracle.jdbc.driver.OracleDriver // DB 드라이버 클래스 정의
log4j.appender.dblog.username=sds // DB User 정의
log4j.appender.dblog.password=sdsdb // DB Password 정의
log4j.appender.dblog.sql=INSERT INTO APP_LOG( SYSTEMNAME, LOGDATE, LOGLEVEL, MDC1,MDC2, MESSAGE, TROWABLE ) values ('MCSMGR',TIMESTAMP '@TIMESTAMP@','@PRIO@','@MDC:APP@','@MDC:TSC@','@MSG@','@THROWABLE@') // INSERT SQL문 정의
log4j.appender.dblog.layout=org.apache.log4j.PatternLayout
log4j.appender.dblog.layout.ConversionPattern=%m
log4j.appender.dblog.buffer=1 // DB를 Update하기 전까지 SQL문의 Buffer 개수. 1이면 바로 Update 함
log4j.appender.dblog.commit=true // commit 여부
log4j.appender.dblog.quoteReplace=true // single quotes (')를 2 single quotes ('')로 변경 여부
log4j.appender.dblog.throwableMaxChars=3000 // throwable/exception stack trace의 최대 문자 개수 정의
'프로그래밍 > Java' 카테고리의 다른 글
IOStream 관련.. (0) | 2009.07.21 |
---|---|
[log4j] log4j 에 대한 설명. (0) | 2009.07.10 |
Enum 사용법. (0) | 2009.07.07 |
quartz 사용시 UserTransaction 에러 발생시 해결. (0) | 2009.06.18 |
abstract 와 interface 의 차이. (0) | 2009.06.05 |