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 | 31 |
Tags
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- 마이바티스 트랜잭션
- str_to_date
- 날짜형을 문자형으로
- 성능개선
- JSONArray 분할
- date_format
- 스프링 리액티브 프로그래밍
- Meta Table
- batchInsert
- git stage
- JSONObject 분할
- 스테이지에 올리기
- JSON 분해
- nonblocking
- jar 소스보기
- 무시하기
- spring reactive programming
- JobExecutionAlreadyRunningException
- spring webflux
- JSON 분리
- 마리아디비
- org.json
- 문자형을 날짜형으로
- 폐기하기
- multi update
- JSON 분할
- 스프링 배치 메타 테이블
- 스프링 배치 공식문서
- 스프링 웹플럭스
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