일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링 쇼핑몰
- Bcrypt
- 스프링 프로젝트
- 스프링 포트폴리오
- 스프링 게시판
- 스프링 HikariCP
- 로그아웃 기능 구현
- 스프링 프로젝트 설정
- 삭제 구현
- 스프링 프로젝트 기본 설정
- spring 쇼핑몰
- 스프링 쇼핑몰 프로젝트
- 스프링 게시판 구현
- 쇼핑몰 프로젝트
- 인증번호 전송
- 쇼핑몰 포트폴리오
- 이미지 출력
- oracle 설치방법
- 회원가입 기능
- 로그인 기능
- 정규표현식
- BCrypt 적용
- spring 프로젝트
- 스프링 메일 전송
- 스프링 업로드
- arraylist
- 스프링 이미지
- 파일 업로드
- 스프링 파일 삭제
- ResponseEntity
- Today
- Total
Kim VamPa
[Spring][06] Log4jdbc-log4j2 추가 및 설정방법 본문
개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.
git주소(Oracle DB) : https://github.com/sjinjin7/blog_study
git주소(MySQL DB) : https://github.com/sjinjin7/blog_study-MYSQL-base-
목표
- Log4jdbc-log4j2를 사용하는 이유에 대해 이해합니다.
- Log4jdbc-log4j2를 사용하기 위한 방법을 직접 실습을 통해 배웁니다.
목차
1. Log4jdbc-log4j2 사용 이유
2. Log4jdbc-log4j2 추가 및 설정 방법
1) 라이브러리 추가
2) 로그 설정 파일 추가
3) JDBC의 연결 정보 설정
1. Log4jdbc-log4je 사용 이유
Log4jdbc는 스프링에서 SQL문을 실행한 로그를 효과적이고 직관적으로 볼 수 있도록 해주는 라이브러리입니다. Log4jdbc를 사용한 경우와 사용하지 않은 경우의 console 결과 창은 다음과 같습니다.
(아래의 예는 행과 열이 한 개인 테이블이 생성되어 크게 차이는 못 느끼실 수 있지만 테이블이 많은 정보를 가질수록 가독성에 큰 차이가 있습니다.)
- Log4jdbc 사용 전
- Log4jdbc 사용 후
2. Log4jdbc-log4j2 추가 및 설정 방법
Log4jdbc를 사용하기 위해선 라이브러리 추가, 로그 설정 파일 추가, JDBC 연결 정보 설정 이 필요합니다. 해당 순서대로 하나씩 살펴보겠습니다.
1) 라이브러리 추가
Maven repository 사이트에서 log4jdbc-log4j2를 검색하시면 Maven 코드를 얻을 실수 있습니다. 아래의 코드를 pom.xml 추가해줍니다.
<!-- https://mvnrepository.com/artifact/org.bgee.log4jdbc-log4j2/log4jdbc-log4j2-jdbc4 -->
<dependency>
<groupId>org.bgee.log4jdbc-log4j2</groupId>
<artifactId>log4jdbc-log4j2-jdbc4</artifactId>
<version>1.16</version>
</dependency>
2) 로그 설정 파일 추가
'src/main/resources' 경로에 log4jdbclog4jdbc.log4j2.properties 파일을 생성한 합니다. 생성 후 해당 파일에 아래의 코드를 추가합니다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
* properties생성 상세 설명
가. 상단 내비게이션 메뉴 중 [File]클릭 => [New]클릭 => [Other]클릭 합니다.
나. [General] 선택 => [Untitled Text File]을 선택 후 [Finish] 버튼을 클릭합니다.
다. [Untitled 번호] 창이 뜨실 겁니다 해당 창에 아래의 코드를 추가해줍니다. 추가해준 후 "ctrl+ s"를 눌러줍니다.
log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
라. 파일을 저장해 줄 경로를 지정후 File name을 "log4jdbc.log4j2.properties"로 입력 후 [OK] 버튼을 클릭합니다.
- 자신의 프로젝트 선택 => src => main => resources을 선택하시면 됩니다.
마. 자신이 선택한 경로에 파일이 추가되신 것을 보실 수 있습니다.
3) JDBC의 연결 정보 설정
root-context.xml 에서 기존 JDBC 드라이버와 URL 정보를 수정해주어야 합니다. 기존에 있던 JDBC 드라이버, URL 정보는 삭제 혹은 주석처리해줍니다.
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!-- <property name="driverClassName" value="oracle.jdbc.pool.OracleDataSource"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"></property> -->
<property name="username" value="c##vam"></property>
<property name="password" value="1234"></property>
</bean>
- driverClassName는 값을 "net.sf.log4jdbc.sql.jdbcapi.DriverSpy"로 변경해줍니다.
- jdbcUrl 경우 값을 기존 경로 중간에 log4jdbc 문자열을 추가해주면 됩니다.
- 변경 후의 코드는 다음과 같습니다.(Oracle경우/ MySQL 경우)
// Oracle 경우
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!-- <property name="driverClassName" value="oracle.jdbc.pool.OracleDataSource"></property>
<property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"></property> -->
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl" value="jdbc:log4jdbc:oracle:thin:@localhost:1521:XE"></property>
<!-- Oracle 11 경우>
<!-- Oracle 19 경우 "jdbc:log4jdbc:oracle:thin:@localhost:1521:orcl" -->
<property name="username" value="c##vam"></property>
<property name="password" value="1234"></property>
</bean>
//MySQL경우
<bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig">
<!--<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/ksj?serverTimezone=Asia/Seoul"></property> -->
<property name="driverClassName" value="net.sf.log4jdbc.sql.jdbcapi.DriverSpy"></property>
<property name="jdbcUrl" value="jdbc:log4jdbc:mysql://localhost:3306/ksj?serverTimezone=Asia/Seoul"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
</bean>
Reference
- "코드로 배우는 스프링 웹 프로젝트"(남가람북스)
Date
- 2020.04.14 작성
'공부 > 스프링' 카테고리의 다른 글
[Spring]메일서버(SMTP Server)를 이용한 메일 전송 2 (8) | 2020.08.28 |
---|---|
[Spring]메일서버(SMTP Server)를 이용한 메일 전송 1 (7) | 2020.08.27 |
[Spring][05-2]MyBatis 사용(Mapper 인터페이스, Mapper XML) (6) | 2020.04.13 |
[Spring][05-1]MyBatis 라이브러리 추가, SQLSessionFactory 설정 (3) | 2020.04.11 |
[Spring][04]커넥션 풀 설정(HikariCP) (0) | 2020.04.10 |