Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- step 여러개
- 선언적 트랜잭션 관리
- step 사이 변수 공유
- 스프링 트랜잭션 관리
- 스프링 배치 5
- JSONArray 분할
- executioncontext 변수 공유
- 마이바티스 트랜잭션
- JSON 분할
- 스프링배치 엑셀
- mybatis
- JSONObject 분할
- stepexecutionlistener
- abstractpagingitemreader
- step 값 공유
- 트랜잭션 분리
- 읽기 작업과 쓰기 작업 분리
- 스프링배치 메타테이블
- job parameter
- api 아이템 리더
- 아이템 리더 커스텀
- JSON 분리
- spring batch 5
- 아이템 리더 페이징 처리
- Spring Batch
- flatfileitemwriter
- 스프링배치 csv
- executioncontext
- aop proxy
- spring batch 변수 공유
Archives
- Today
- Total
ebson
log4j 본문
1. log4j
- log4j는 자바기반 로깅 유틸리티로 Apache에서 만든 오픈소스 라이브러리임
- log4j는 옵션 설정을 통해 선택적으로 로그를 남기거나 특정 파일에 로그를 생성하는 등 다양한 이점을 가지고 있음
- 한번 설정을 해 놓으면 다시 설정하지 않아도 됨
- System.out.println()코드를 작성하지 않고도 콘솔에 로그를 출력할 수 있음
2. log4j.xml
- 프로젝트를 생성하면 자동으로 생성됨
3. log4j 레벨
- FATAL → 아주 심각한 에러가 발생한 상태를 나타낸다
- ERROR → 어떠한 요청을 처리하는 중 문제가 발생한 상태를 나타낸다
- WARN → 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타낸다.
- INFO → 어떠한 상태변경과 같은 정보성 메시지를 나타낸다
- DEBUG → 개발시 디버그 용도로 사용하는 메시지를 나타낸다
- TRACE → 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트를 나타낸다
- LEVEL VALUE값에 적혀있는 것들로서 순서대로 높은 레벨을 가지며, 출력 레벨 설정에 따라 설정 레벨 이상의 로그가 출력된다. 예를들어, 출력 레벨을 INFO라고 설정하면 WARN, ERROR, FATAL이 모두 출력된다.
4. log4j 구성요소
- LOGGER → 출력할 메시지를 APPENDER에 전달한다
- APPENDER → 전달된 로그를 어디에 출력할 지 결정한다. (콘솔출력, 파일기록, DB저장 등)
- LAYOUT → 로그를 어떤 형식으로 출력할 것인지 결정한다
5. LOGGER
- JDBC.SQLONLY → SQL문만을 로그로 남기며, PREPAREDSTATEMENT일 경우 관련된 ARGUMENT 값으로 대체된 SQL문이 보여진다
- JDBC.SQLTIMING → SQL문과 해당 SQL을 실행시키는데 수행된 시간 정보를 포함한다
- JDBC.AUDIT → RESULTSET을 제외한 모든 JDBC 호출 정보를 로그로 남긴다. 많은 양의 로그가 생성되므로 특별히 JDBC 문제를 추적해야 할 필요가 있는 경우를 제오하고는 사용을 권장하지 않는다
- JDBC.RESULTSET → RESULTSET을 포함한 모든 JDBC 호출 정보를 로그로 남기므로 매우 방대한 양의 로그가 생성된다.
6. APPENDER
- APPENDER는 로그를 출력할 위치, 출력 형식 등을 지정할 수 있다. 여러 종류의 APPENDER가 있지만 몇개가 대표적으로 쓰인다. 참고로 SMTPAPPENDER, DBAPPENDER 등을 이용하면 로그를 원격 위치에 기록할 수도 있다.
- APPENDER태그는 LOGGER태그들보다 위에 있어야 한다.
- CONSOLEAPPENDER → ORG.APACHE.LOG4J.CONSOLEAPPENDER , 콘솔에 로그 매시지를 출력한다
- FILEAPPENDER → ORG.APACHE.LOG4J.FILEAPPENDER , 로그 메시지를 저장된 파일에 기록한다
- ROLLINGFILEAPPENDER → ORG.APACHE.LOG4J.ROLLINGFILEAPPENDER , 파일 크기가 일정 수준 이상이 되면 기존 파일을 백업파일로 두고 처음부터 다시 기록한다
- DAILYROLLINGFILEAPPENDER → ORG.APACHE.LOG4J.DAILY.ROLLING.FILE.APPENDER , 일정 기간 단위로 로그 파일을 생성하고 기록한다
7. LAYOUT
- LAYOUT은 로그를 출력하는 형태를 만들 수 있다. PATTERNLAYOUT을 이용하는 것이 가장 적합하다. 로그의 출력형태, LAYOUT을 자신이 원하는 형식으로 바꿀 수 있다.
- %m → 로그 내용 출력
- %p → debug, info, warn, error 등의 priority 출력
- %r → 어플리케이션 시작 후 이벤트가 발생하는 시점까지의 경과시간 출력
- %c → package 출력
- %C → 클래스명 출력
- %d → 이벤트 발생 날짜 출력
- %n → 개행문자(\n) 출력
- %M → 로깅이 발생한 method 이름 출력
- %F → 로깅이 발생한 프로그램 파일명 출력
- %I → 로깅이 발생한 caller 정보 출력
- %L → 로깅이 발생한 caller 라인 수 출력
- %x → 로깅이 발생한 thread 와 관련된 NDC 출력
- %X → 로깅이 발생한 thread 와 관련된 MDC 출력
- % → % 출력 표시
- %t → 쓰레드 이름 출력
참고출처
'DEV-STUDY, ETC.' 카테고리의 다른 글
[SPRING STUDY] README.md (0) | 2022.09.04 |
---|---|
[SPRING STUDY] dispatcher-servlet.xml 개요와 동작과정의 이해 (0) | 2022.08.28 |
LG CNS DEVON FRAMEWORK (0) | 2022.08.28 |
데이터독(Datadog) (1) | 2022.08.28 |
젠킨스(JENKINS) (0) | 2022.08.28 |
Comments