Back-end/JAVA,Spring

log4J란? log4j설정법.

cheersHena 2018. 11. 8. 17:47
반응형

Log4J란?  Log For JAVA

 

 

자바 기반 로깅 유틸리티. 디버그용 도구로 주로 사용된다.

개발자가 로그문의 출력을 다양한 대상으로 할 수 있도록 도와주는 도구.

애플리케이션에 문제발생시, 로깅 활성화하면 문제의 위치를 정확히 파악할 수 있다.

개발자라면 로그를 남기고 확인해서 자신이 개발한 프로그램이 정상적으로 작동을 하는지, 오류가 나면 어디서 오류가 발생했는지 좀더 쉽고 빠르게 찾기 위해 사용한다. 

또한 성능 및 속도에 영향을 미치지 않고 편리하게 사용할 수 있다.

 

Log4j 특징

 

속도에 최적화 되어있다. 

이름있는 로그 계층에 기반한다.

thread-safe 하다. 즉, 멀티스레드 환경에서도 안전하다.

properties 파일과 xml형식으로 실행 중 수정 적용 가능하다.

처음부터 자바의 예외처리를 위해 디자인 되었다,

출력을 파일, 콘솔, 원격서버, 등등 다양한 방식으로 내보낼 수 있고 심지어 email로도 보낼 수 있다.

5단계의 레벨의 장애를 사용한다.

로그 출력 형식은 layout클래스를 확장함으로써 쉽게 바꿀 수 있다.

로그 출력 대상과 방식을 Appender인터페이스로 할 수 있다.

 

 

 

Log4J의 구조. 

 

Logger

로그파일을 작성하는 클래스, Appender에 메세지 전달.

Appender

로그출력하는 위치결정 (파일, 콘솔, DB등 ..) 

Layout

Appender로 로그 생성 전에 메시지 형식을 만드는 클래스.

 

 

Log4J 설정

1. 메이븐 사용시 pom.xml 라이브러리 추가.

<!-- https://mvnrepository.com/artifact/log4j/log4j -->

<dependency>

<groupId>log4j</groupId>

<artifactId>log4j</artifactId>

<version>1.2.17</version>

 

</dependency>

 

2. 설정파일 만들기 - xml 또는 properties로 설정가능.

 

 

Log4J 로그 레벨

 

DEBUG < INFO < WARN < ERROR <  FATAL

 

1.  DEBUG: 애플리케이션의 내부 실행 상황 추척할 수 있는 상세정보

2. INFO: 애플리케이션의 주요 실행 정보 

3. WARN: 잠재적 위험 상태. 경고.

4. ERROR: 오류 발생했지만, 애플리케이션 실행은 가능한 상태 

5. FETAL: 애플리케이션을 중지해야할 심각 오류 

6. TRACE: debug보다 상세한 정보를 찍고 싶을때. 

 

 

 log4j 적용 소스코드 예제.

 

 

//로그4j 사용 위한 임포트 

import org.apache.log4j.Logger; 

 

//변수에 로거 대입.

Logger logger = Logger.getLogger(MemberController.class);

 

//파라미터 콘솔 로그에 찍기. 

logger.debug("/member/checkId.do params : " + params);

 

 

 

 

결과: /member/checkId.do params : [파라미터 값.. ]

반응형

'Back-end > JAVA,Spring' 카테고리의 다른 글

XML 이란? DTD 와 스키마  (0) 2018.11.19
MAVEN 메이븐이란?  (0) 2018.11.08
Junit이란? 어노테이션  (0) 2018.11.08
마이바티스 란? mybatis 설정방법 및 순서.  (0) 2018.11.08
[Spring]Application Context 설정.  (0) 2018.11.07