일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 상속
- CS 기초
- CS 기초지식
- 모두를 위한 컴퓨터 과학
- 삼성청년SW아카데미
- java
- SW
- 알고리즘
- 객체지향
- CS기초지식
- 기초프로그래밍
- WebProgramming
- ERD
- w3schools
- edwith
- Computer Science
- Java Programming
- SSAFY 9기
- 부스트코스
- 모두를 위한 컴퓨터 과학(CS50)
- 면접을 위한 CS 전공지식 노트
- 데이터베이스 모델링
- Compute Science
- 예외처리
- exception
- 관계형 데이터베이스
- 이진법
- til
- CS50
- ssafy
- Today
- Total
Joslynn의 하루
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Filter(필터), log 기록_221011 본문
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Filter(필터), log 기록_221011
Joslynn 2022. 10. 11. 17:30Filter
: 사용자 요청을 중간에 filter가 가로채서 사전, 사후 처리를 할 수 있도록 하는 것
: ex) 한글인코딩처리, 세션유무체크, log 기록, spring security(인증, 권한) → filter 처리, parameter로 전송되는 값들의 유효성 체크
: 공통의 기능을 모아서 특정 대상에 적용할 수 있으므로, 유지 보수에 유리함
** Filter 작성법
: interface이다 - implements 필요(메소드 재정의)
1) init()
2) doFilter(request, response FilterChain)
3) destroy()
: 4.x 버전부터 init(), destroy() 메소드는 default 메소드 (overriding 선택적임)
** Filter 등록
1) web.xml 등록
2) @WebFilter 등록
**url 패턴 사용
: 필터를 여러 개의 웹 컴포넌트에 한꺼번에 적용하고자 할 때는 <url-pattern> 서브엘리먼트에 해당 웹 컴포넌트들의 URL 패턴을 사용한다.
log4j
: 자바 어플리케이션에서 빠르고 효과적으로 로깅할 수 있도록 도와주는 오픈소스
**log4j 구조
1) Logger : logging 메시지를 Appender에 전달.
2) Appender : 전달된 로깅 메시지를 파일, 콘솔등 어디에 저장 할 지 지정하는 역할을 한다.
3) Layout :Appender가 어디에 출력 할 것인지 결정했다면 어떠한 형식으로 출력을 할지 출력 layout을 결정
< layout Options >
* %d :로깅 이벤트가 일어난 날자(date)
* %p :로깅 이벤트의 priority
* %t :로깅 이벤트를 생성한 스레드 이름
* %c :로깅 이벤트의 category
* %F :로깅요청을 일으킨 파일 이름
* %L :로깅요청을 일으킨 파일의 행번호
* %x :로깅이벤트를 발생시킨 스레드에 관련된 내포검사항목
* %C :로깅요청을 일으킨 호출자의 완전한 클래스이름
* %M :로깅요청을 일으킨 메소드
* %m :메세지
**log4j level
: logging 레벨은 TRACE < DEBUG < INFO < WARN < ERROR < FATAL 순
1) FATAL : 가장 크리티컬한 에러가 났을 때 사용.
2) ERROR : 일반 에러가 났을 경우 사용.
3) WARN : 에러는 아니지만 주의할 필요가 있을 때 사용.
4) INFO : 일반 정보를 나타날 때 사용.
5) DEBUG : 일반 정보를 상세히 나타낼 때 사용.
6) TRACE : 가장 레벨이 낮은 단계
: debug 레벨로 했다면 INFO~FATAL까지 모두 logging이 되어진다.
: 운영모드라면 INFO레벨로 하면 된다.
※설정파일에서 info부터 나오길 바란다면
:: log4j.category.TestFileCompare=INFO, Console, FileCompareAppender로 설정(DEBUG대신 INFO)
※ 매번 새로운 log 파일을 만들고 싶다면
:: log4j.appender.FileCompareAppender.Append=fasle (true대신에 false로 설정)
※ log4j의 설정파일은 log4j.properties를 클래스 패스로 잡아둔다
이클립스에서는src 밑에 들어가게 되고 tomcat에서는 classes 폴더 밑에 배포된다.
※ log4j의 설정파일을 작성하기 위해선 두개의 라이브러리 필요.(log4j, commons-logging)
'MSA Full-Stack 개발자 양성과정 > JSP&Servlet' 카테고리의 다른 글
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet 자료 Up-Download_221012 (0) | 2022.10.12 |
---|---|
MSA Full-Stack 개발자 양성 과정 - JSP&Servlet Listener(이벤트 핸들러)_221012 (0) | 2022.10.12 |
[Servlet] annotation과 xml 설정 (0) | 2022.10.11 |
MSA Full-Stack 개발자 양성 과정 - JSP 표현언어(EL)&JSTL_221006 (0) | 2022.10.06 |
MSA Full-Stack 개발자 양성 과정 - JSP 예외 처리, Servlet 기초_221005 (1) | 2022.10.05 |