-
10. 메이븐과 스프링개발자 수업/Spring 2022. 1. 7. 10:06
1. Maven
1) 라이브러리 관리 + 빌드 툴
- 의존성 라이브러리 관리(pom.xml)
2) 프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴
3) 편리한 Dependent Library 관리
4) 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리할 수 있음
5) 여러 프로젝트에서 프로젝트 정보나 jar파일들을 공유하기 쉬움
6) 빌드 프로세스를 일관되게 가져갈 수 있음
7) 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준 디렉토리 구조를 처음부터 일관된 형태로 구성하여 관리할 수 있음
- 오픈소스 라이브러리들은 컴파일 할 때 합쳐져 하나의 기능을 이룸
- 컴파일보다 더 많은 과정을 거치게 됨
- 이런 과정을 빌드라고 하고 이런 작업을 자동으로 수행해 주는 툴
- Ant, Maven, Gradle 등
2. pom.xml
1) Maven 프로젝트를 생성하면 pom.xml 파일이 생성됨
2) Project Object Model 정보를 담고 있음
3. log4j
1) 로그 기능을 제공하는 오픈 소스 라이브러리
2) 애플리케이션에서 웹 사이트에 접속한 사용자 정보나 각 클래스에 메서드 호출 시각 등 여러 가지 정보를 로그로 출력해서 관리
3) 메이븐에선 프로젝트 생성 시 자동으로 log4j 라이브러리가 설치됨
4) 태그
- <appender>
- 로그의 출력 위치 결정(콘솔, 파일, DB)함
- XXXAppender로 끝나는 클래스들을 보면 출력 위치를 알 수 있음
- <layout>
- <appender>가 어떤 형식으로 출력할지 출력 레이아웃을 결정
- <logger>
- 로깅 메세지를 appender에 전달함
- 로그 레벨을 가짐
5) Appender 클래스들
- ConsoleAppender
- 콘솔에 로그 메세지를 출력함
- FileAppender
- 파일에 로그 메세지를 출력함
- RollingFileAppender, DailyRollingAppender
6) PatternLayout 클래스에서 사용되는 여러 가지 출력 속성들
속성 의미
---------------------------------------------------------------------------------
%p trace, debug, info, warn, error, fatal 등 로그 레벨 이름 출력
%m 로그 메세지 출력
%d 로깅 이벤트 발생 시간 출력
%F 로깅이 발생한 프로그램 파일 이름 출력
%I 로깅이 발생한 caller의 정보 출력
%L 로깅이 발생한 caller의 라인 수 출력
%M 로깅이 발생한 method 이름 출력
%c 로깅 메세지 앞에 전체 패키지 이름이나 전체 파일 이름 출력
7) log4j의 로그 레벨들
- FATAL
- 시스템 차원에서 심각한 문제가 발생해 애플리케이션 작동이 불가능한 경우에 해당하는 레벨임
- 일반적으로 애플리케이션에서는 사용할 일이 없음
- ERROR
- 실행 중 문제가 발생한 상태를 나타냄
- WARN
- 향후 시스템 오류의 원인이 될 수 있는 경고 메세지를 나타냄
- INFO
- 로그인, 상태 변경과 같은 실제 애플리케이션 운영과 관련된 정보 메세지를 나타냄
- DEBUG
- 개발 시 디버깅 용도로 사용한 메세지를 나타냄
- TRACE
- DEBUG 레벨보다 상세한 로깅 정보를 출력하기 위해 도입된 레벨임'개발자 수업 > Spring' 카테고리의 다른 글
12. 스프링 지원 기능들 (0) 2022.01.12 11. 타일즈(tiles) (0) 2022.01.12 9. 스프링 어노테이션 (0) 2022.01.04 8. 스프링 트랜잭션 (0) 2022.01.04 7. MyBatis Framework 사용 (수정중) (0) 2021.12.31