Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- userManagement
- 공통메서드
- 관리자페이지
- 빌드 및 배포
- 인증처리
- RCPS
- 파생상품평가
- 로그인
- 회원가입로직
- 이미지 업로드
- MRC
- Styled Components
- 로그인 로직
- ui탬플릿
- register
- 밸류즈
- 배포
- 마이페이지
- stock option
- Update
- 달력 라이브러리
- Token
- Typesciprt
- mypage
- 캘린더 라이브러리
- react
- jsonwebtoken
- 스프링시큐리티
- Ajax
- 밸류즈 홈페이지
Archives
- Today
- Total
I T H
[스프링프로젝트연습 7] 스프링 프로젝트 구현 - Log4j2 연동 본문
- 쿼리 구문 및 쿼리에 사용된 파라미터 (?) PreparedStatement의 대입된 값을 자세하게 보기 위해 시스템 로그에 출력하기로 한다.
- 상세한 로그를 기록하기 위해 log4jdbc-log4j2 라이브러리를 사용
- 해당 문서에서는 log4j2 라이브러리를 적용함으로써 시스템 로그에 상세 쿼리 로그를 기록하는 방법을 설명함.
[resources 폴더 확인 및 생성]
- src/main 폴더 아래에 resources 폴더가 없는 경우 아래와 같이 생성을 먼저 진행한다.

[프로젝트 패키지 경로 수정]
- build path 설정을 통해 src/main 패키지 아래에 resources 패키지가 포함되도록 설정을 변경한다.
1. Add Folder를 클릭한다.
2. Source Folder Selection 팝업창에서 resources를 체크 > OK 클릭
3. java Build Path > Order and Export 탭에서 src/main/resources 항목에 추가되었는지 확인 > Apply and Colose

1번)

2번)

3번)
백앤드쪽에 src/main/resources 가 생긴 것을 볼수있음.

[pom.xml 파일 수정]
- Log4j2 라이브러리 연동을 위한 태그 설정
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
<version>1.16</version>
</dependency>
<!-- * slf4j (slf4j 인터페이스와 log4j2를 연결해주는 모듈 역할) * 취약점 없는 최신버전으로 수정 -->
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>2.17.2</version>
</dependency>
<!-- * log4j api / core -->
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.2</version>
</dependency>
라이브러리 | 참고 사이트 |
log4jdbc-log4j2-jdbc4.1 | https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4.1 |
log4j-slf4j-impl | https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-slf4j-impl |
log4j-core | https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core |
log4j-api | https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-api |
[Log4j2 설정 관련 파일 생성 ]
- 앞서 생성한 src/main/resources (백앤드쪽) 패키지 아래에 파일 2개를 생성한다.
ㄱ. log4jdbc.log4j2.properties 파일 생성 후 아래 내용 추가

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
log4jdbc.dump.sql.maxlinelength=0
ㄴ. log4j2.xml 파일 생성
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Properties>
<Property name="logNm">Spring Log4j2</Property>
<Property name="layoutPattern">%style{%d{yyyy/MM/dd HH:mm:ss,SSS}}{cyan} %highlight{[%-5p]}{FATAL=bg_red, ERROR=red,
INFO=green, DEBUG=blue} [%C] %style{[%t]}{yellow} %m%n</Property>
</Properties>
<Appenders>
<Console name="Console_Appender" target="SYSTEM_OUT">
<PatternLayout pattern="${layoutPattern}"/>
</Console>
<RollingFile name="File_Appender" fileName="logs/${logNm}.log" filePattern="logs/${logNm}_%d{yyyy-MM-dd}_%i.log.gz">
<PatternLayout pattern="${layoutPattern}"/>
<Policies>
<SizeBasedTriggeringPolicy size="1000KB"/>
<TimeBasedTriggeringPolicy interval="1"/>
</Policies>
<DefaultRolloverStrategy max="10" fileIndex="min"/>
</RollingFile>
</Appenders>
<Loggers>
<!--INFO는 모든것을 다찍음. -->
<Root level="INFO" additivity="false">
<AppenderRef ref="Console_Appender"/>
<AppenderRef ref="File_Appender"/>
</Root>
<Logger name="org.springframework" level="DEBUG" additivity="false">
<AppenderRef ref="Console_Appender" />
<AppenderRef ref="File_Appender"/>
</Logger>
<!--하단 name에 본인이 사용하는 package명으로 수정할 것-->
<Logger name="kr.co.values" level="DEBUG" additivity="false">
<AppenderRef ref="Console_Appender" />
<AppenderRef ref="File_Appender"/>
</Logger>
<Logger name="org.springframework" level="TRACE" additivity="false">
<AppenderRef ref="Console_Appender" />
</Logger>
</Loggers>
</Configuration>
[최종 폴더 구성]

- WAS 재시작 후 재접속 시 시스템 로그에 아래와 같이 로그 기록이 되는지 확인!

'Spring Basic' 카테고리의 다른 글
[스프링프로젝트연습 10] 스프링 프로젝트 구현 - ajax 사용법 (0) | 2024.01.22 |
---|---|
[스프링프로젝트연습 9] 스프링 프로젝트 구현 - jQuery 연동 (0) | 2024.01.22 |
[스프링프로젝트연습 6] 스프링 프로젝트구현 - SVN 연동 (0) | 2024.01.22 |
[스프링프로젝트연습 5] 스프링 프로젝트 구현 - DB연동 (0) | 2024.01.22 |
[스프링프로젝트연습 4] 스프링 설정하기 - Java Config (0) | 2024.01.22 |