티스토리 뷰
회사에서 웹개발할때 페이지 이동시에 콘솔에 수많은 로그가 찍혔다.
첨에는 이 로그가 페이지마다 Controller에서 log를 찍어서 나오겠거니라고 생각했는데 더 편한 log4j2 기능을 사용한 거였다.
log4j2란?
Apache에서 만든 로깅을 위한 자바 기반의 오픈소스 라이브러리로 디버그용 도구로 주로 사용한다. Log4j의 약자는 Log for java 뜻으로 java 예외를 위해 설계되었다. 즉 java를 위한 로그 라이브러리... 진짜 콘솔에 로그가 찍히면 개발할때 정말 편한거같다.
사용법을 좀 보면 일단 자바기반의 라이브러리이기 때문에 pom.xml에 추가를 해줘야한다.
pom.xml
<!-- Logging -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${org.apache.logging.log4j-version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${org.apache.logging.log4j-version}</version>
</dependency>
그리고 src/main/resources에 log4j2.xml생성해준다.
log4j2.xml(로그 출력 형식과 레벨 등을 모두 지정 가능)
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{DEFAULT} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="org.springframework.web" level="DEBUG" />
<Root level="TRACE">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
log4j2 를 좀더 자세히
log4j2는 FATAL,ERROR,WARN,INFO,DEBUG,TRACE의 Log Level을 제공한다.
로그레벨은 FATAL > ERROR > WARN > INFO > DEBUG > TRACE
로그 레벨 | 설명 |
---|---|
FATAL | 아주 심각한 에러가 발생한 상태를 나타냄. 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능할 경우가 해당하는데, 일반적으로는 어플리케이션에서는 사용할 일이 없음. |
ERROR | 요청을 처리하는중 문제가 발생한 상태를 나타냄. |
WARN | 처리 가능한 문제이지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄. |
INFO | 로그인, 상태변경과 같은 정보성 메시지를 나타냄. |
DEBUG | 개발시 디버그 용도로 사용한 메시지를 나타냄. |
TRACE | 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀더 상세한 상태를 나타냄. |
patternLayout의 pattern
%로 시작하고 %뒤에는 format modifiers와 conversion character로 정의한다.
패턴 | 설명 |
---|---|
c, logger | 로깅 이벤트를 발생시키기 위해 선택한 로거의 이름을 출력 |
C, class | 로깅 이벤트가 발생한 클래스의 풀네임명을 출력 |
M, method | 로깅 이벤트가 발생한 메서드명을 출력 |
F, file | 로깅 이벤트가 발생한 클래스의 파일명을 출력 |
l, location | 로깅 이벤트가 발생한 클래스의 풀네임명.메서드명(파일명:라인번호)를 출력 |
d, date | 로깅 이벤트의 일자와 시간을 출력,\\SimpleDateFormat클래스에 정의된 패턴으로 출력 포맷 지정가능 |
L, line | 로깅 이벤트가 발생한 라인 번호를 출력 |
m, msg, message | 로그문에서 전달된 메시지를 출력 |
n | 줄바꿈 |
p, level | 로깅 이벤트의 레벨을 출력 |
r, relative | 로그 처리시간 (milliseconds) |
t, thread | 로깅 이벤트가 발생한 스레드명을 출력 |
%% | %를 출력하기 위해 사용하는 패턴 |
참고자료 : http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:%EC%84%A4%EC%A0%95_%ED%8C%8C%EC%9D%BC%EC%9D%84_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%EB%B0%A9%EB%B2%95
'FULL STACK > SPRING &EGOV' 카테고리의 다른 글
스프링 시큐리티 (0) | 2018.12.13 |
---|---|
게시판 테이블 엑셀로 변환 (0) | 2018.12.13 |
스프링에서의 트랜잭션 (0) | 2018.12.10 |
웹페이지 에러 처리 (0) | 2018.12.06 |
ITEXT를 이용한 PDF 출력 (0) | 2018.12.05 |
- Total
- Today
- Yesterday
- 반응형
- fontawesome 4.7
- JS
- js scroll
- defer
- Slick
- fontawesome 4.7 cdn
- jQuery
- scroll
- Sliding
- css
- FontAwesome
- getBoundingClientRect
- html
- JavaScript
- jQuery CDN
- sliding scroll
- Javscript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |