본문 바로가기
Front

[Spring] 고급개발자가 되는과정 로그 세팅

by AlexHouse 2022. 3. 17.

 

오늘은 고급개발자가 되어가기위한 로그 세팅에 대해서 설명하고, 같이 적용해보도록 하겠습니다. 

이것을 사용하게 됨으로써 오류에대한 대처와 인지가 훨씬 수월해질것 같습니다.


회사 입사시
로그를 사용하지 않는 회사는 
퇴사를 고려해봐도 좋다.
-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..