본문 바로가기
Web/Spring

Spring(10) - Maven & Spring

by SeleniumBindingProtein 2022. 1. 29.
728x90
반응형

1. Maven
    1) 라이브러리 관리 + 빌드 툴 
    2) 프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴 
    3) 편리한 Dependent Library 관리 
        - 의존성 라이브러리 관리 (pom.xml)
    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 레벨보다 상세한 로깅 정보를 출력하기 위해 도입된 레벨임.                                                              

728x90
반응형

'Web > Spring' 카테고리의 다른 글

Spring(12) - Spring RESTful API  (0) 2022.01.29
Spring(11) - 타일즈 & Spring 지원 기능들  (0) 2022.01.29
Spring(9) - Spring Annotation  (0) 2022.01.29
Spring(8) - Spring Transaction  (0) 2022.01.29
Spring(7) - MyBatis Framework  (0) 2022.01.29

댓글