기본적인 뻔한 내용은 패스하고 포인트만 정리하자.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout charset="UTF-8" pattern="[log4j]%d %5p [%c] %m{nolookups}%n" />
</Console>
<!-- <RollingFile name="file" fileName="${log4j:configParentLocation}/../../logs/console.log" filePattern="${log4j:configParentLocation}/../../logs/$${date:yyyy-MM-dd}/console-%d{yyyy-MM-dd}-%i.log"> -->
<!-- <PatternLayout charset="UTF-8" pattern="[log4j]%d %5p [%c] %m%n" /> -->
<!-- <Policies> -->
<!-- size 단위: Byte(default), KB, MB, or GB -->
<!-- <OnStartupTriggeringPolicy /> -->
<!-- <SizeBasedTriggeringPolicy size="3 MB" /> -->
<!-- <TimeBasedTriggeringPolicy /> -->
<!-- </Policies> -->
<!-- <DefaultRolloverStrategy min="1" max="100" fileIndex="max" /> -->
<!-- </RollingFile> -->
</Appenders>
<Loggers>
<Logger name="java.sql" level="OFF" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="egovframework" level="OFF" additivity="false">
<AppenderRef ref="console" />
</Logger>
<!-- log SQL with timing information, post execution -->
<Logger name="jdbc.sqltiming" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="org.springframework" level="OFF" additivity="false">
<AppenderRef ref="console" />
</Logger>
<Logger name="java.sqlonly" level="OFF" additivity="false">
<AppenderRef ref="console" />
</Logger>
<logger name="jdbc.resultset" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.resultsettable" level="OFF" additivity="false">
<appender-ref ref="console" />
</logger>
<logger name="jdbc.audit" level="ERROR" additivity="false">
<appender-ref ref="console" />
</logger>
<Root level="INFO">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
뭐 대부분 대충 이런식으로 일단 나올거고~
여기서 포인트는 어떤 로그를 내가 선택해서 할거냐인데~
SQL
<logger name="jdbc.sqlonly" level="DEBUG"/>
=> SQL문만을 로그로 남기게 되고~ PreparedStatement일 경우 관련된 argument 값으로 대체된 SQL문이 보여준다
<logger name="jdbc.sqltiming" level="DEBUG"/>
=> SQL문과 수행된 시간을 로그로 남기게 되고, 시간정보는 milliseconds로 보여준다.
<logger name="jdbc.audit" level="ERROR"/>
=> ResultSet을 제외한 모든 JDBC 정보를 로그로 남기게 되고, 불필요한 로그가 많이 남기게 되, 특별한 상황을 제외하고는 사용안하는게 좋다
<logger name="jdbc.resultset" level="ERROR"/>
=> ResultSet을 포함한 모든 JDBC 정보를 로그로 남기게 되고, 불필요한 로그가 많이 남기게 되, 특별한 상황을 제외하고는 사용안하는게 좋다
TABLE
<logger name="jdbc.resultsettable" level="OFF">
=> SQL 결과 조회된 데이터를 table 형식으로 보여준다.
'IT > Java' 카테고리의 다른 글
추천 java decompiler~ 사이트 (0) | 2022.06.16 |
---|---|
예외처리(exception) 일부러 발생시키기~ (0) | 2021.05.21 |
JSTL 문자열 비교시 IF? (0) | 2021.05.21 |
ibatis 쿼리에 in 을 사용할때 (0) | 2021.05.21 |
java.lang.NumberFormatException: For input string "?" (0) | 2021.05.21 |