Logging 이란 : 오류에 대해 디버깅 하거나 프로그램 상태를 모니터링 하기위해 필요한 정보를 기록하는 것/ 실행->추적-> 기록(콘솔, 파일, 데이터베이스) 메세지를 작성하는 것
설정//pom.xml
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
설정2 : root-context.xml
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"> </property> <!--set메소드 사용시 적었던것 -->
<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"></property>
<property name="username" value="STRING"></property>
<property name="password" value="STRING"></property>
</bean>
이랫던 내용을
<!-- Root Context: defines shared resources visible to all other web components -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"> </property> <!--set메소드 사용시 적었던것 -->
<property name="url" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:xe"></property>
<property name="username" value="STRING"></property>
<property name="password" value="STRING"></property>
</bean>
변경한다. ///위에 오라클 빼먹고 갭쳐했다...아래 보면 value값에 oracle 정상 기재되어 있다 주의!!!221109 다시해보려고 했더니.....DB접속이 안되서 봤더니. 저런실수가 있었다........주의!!!!!
설정3 : log4파일들
log4jdbc.log4j2.properties파일을 만들고 파일안에
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
붙여 넣는다.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="com.kh.junspring">
<level value="info" />
</logger>
<!-- <!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- SQL Logger part2 -->
<!--열려 있는 연결 수립 및 해제 이벤트를 기록, 연결문제를 찾아내는데 유요함 -->
<logger name="jdbc.connection" additivity="false">
<level value="warn"></level>
<appender-ref fer="console"></appender-ref>
</logger>
<!--SQL문고 해당 SQL을 실행시키는 수행된 시간 정보를 포함 -->
<logger name="jdbc.sqltiming" additivity="false">
<level value="debug" />
<appender-ref ref="console" />
</logger>
<!--SQL문만 로그를 남김, PreparedStatement일 경우 ?(위치 홀더)값이 완전히 보임 -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="warn" />
<!-- debug(info_debug까지 다 보임)로 하면 너무 많이 조회됨 warn으로 변경-->
<appender-ref ref="console" />
</logger>
<!--debug였으나 info로 변경 -->
<logger name="jdbc.audit" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!--ResultSet을 제외한 모든 JDBC호출 정보를 로그로 남김, 로그양이 많고 필요하지 않으면 사용 권장안함 debug였으나 warn로 변경 -->
<logger name="jdbc.resultset" additivity="false">
<level value="warn" />
<appender-ref ref="console" />
</logger>
<!--SQL결과 조회된 데이터의 table를 그려줌 / debug였으나 info로 변경 -->
<logger name="jdbc.resultsettable" additivity="false">
<level value="info" />
<appender-ref ref="console" />
</logger>
<!-- Root Logger -->
<root>
<priority value="warn" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
log4j.xml파일을 수정한다.
오타나면 당근 안됨/ 서버 수정했기때문에 오타나면 연결안됨
저장 후 게시판을 실행시켜 보면
잘된건지 안된건지 모르겠다.....일단 테이블이 나오니깐 된것같기도^^
'SPRING' 카테고리의 다른 글
LOG를 대체하는 logger (0) | 2022.11.10 |
---|---|
JUNIT TEST 2-controller// (0) | 2022.11.10 |
AOP를 이용한 트랜젝션 (0) | 2022.10.11 |
예외처리 어노테이션 (0) | 2022.10.07 |
AOP 심화 : 메소드 실행시간 (0) | 2022.10.07 |