오늘은 고급개발자가 되어가기위한 로그 세팅에 대해서 설명하고, 같이 적용해보도록 하겠습니다.
이것을 사용하게 됨으로써 오류에대한 대처와 인지가 훨씬 수월해질것 같습니다.
회사 입사시
로그를 사용하지 않는 회사는
퇴사를 고려해봐도 좋다.
-Tony-
pom.xml
<!-- mysql, mariadb log s 2022.03.14 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
<!-- mysql, mariadb log s 2022.03.15 -->
다음 코드를 추가해줘야 한다.
정확한 위치를 설명해주기 어려워서 캡처를 했다.
보통 mvc를 만들면 줄이 비슷할테니 참고하여서 170~172번줄 사이에
</dependency> 위에 삽입해 준다.
log4dbc.log4j2.properties 폴더 생성
다음과 같이 이름을 폴더에 생성해준다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.drivers=com.mysql.jdbc.Driver
다음 내용을 폴더 안에다가 넣어주고 저장
root-context.xml
10~12번 줄을 보면 이렇게 두개가 세팅 되어 있을텐데
원래 세팅되어 있던것을 복사하여, 기존에 있던것은 주석처리 해준다.
(이때 주석처리 해주는 이유는 나중에 원상복귀할 경우를 위해서이다.)
그리고
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy" />
<property name="url" value="jdbc:log4jdbc:mysql://localhost:3307/alpha" />
양식을 다음과 같이 맞춰준다. value 틀리지 않게 다시한번더
확인해주는것이 좋다. 코딩은 오타와의 싸움이다.
log4j.xml
<!-- query log s 2022.02.26 -->
<logger name="jdbc.sqlonly" additivity="false">
<level value="info"/>
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.sqltiming" additivity="false">
<level value="warn" />
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.audit" additivity="false">
<level value="warn"/> <appender-ref ref="console"/>
</logger>
<logger name="jdbc.resultset" additivity="false">
<level value="warn" />
<appender-ref ref="console"/>
</logger>
<logger name="jdbc.resultsettable" additivity="false">
<level value="info"/>
<appender-ref ref="console"/>
</logger>
<!-- query log e 2022.02.26 -->
다음 파일에 35번 줄부터 <root> 위에 다음 코드를 작성해준다.
그리고 Spring.exe를 나갔다가 재실행 해주고 서버를 작동시키면
console 파일에 다음과 같이 작동상황, 에러등 바로 알 수 있다.
결과화면
왜, 로그를 안쓰는 회사는 퇴사하라고 하는지 알것같다.
To be continue..
'Front' 카테고리의 다른 글
[Spring] POST 방식과 GET 방식 차이 (0) | 2022.03.28 |
---|---|
[Spring] 스프링 에러: TooManyResultsException (0) | 2022.03.21 |
[Spring] Server.xml 에서 path 수정 할 경우 (0) | 2022.03.16 |
[Spring] 404 에러, Origin 서버가 대상 리소스를 위한 현재의 representation을 찾지 못했거나, 그것이 존재하는지를 밝히려 하지 않습니다. (0) | 2022.03.15 |
[Spring] Make another environment for CSS (0) | 2022.01.12 |