Log4j

콜라맘·2023년 7월 3일
0

Spring

목록 보기
5/14
post-thumbnail

🍀 Log4j

  • 로그를 효율적으로 남길 수 있는 기능들이 구현되어있는 라이브러리
  • 각 로그마다 등급을 설정하고 일정 등급 이상의 로그만 보이도록 설정할 수 있다
  • 프로젝트 폴더의 src/main/resources -> log4j.xml 내용을 확인할 수 있다(직접 수정도 가능)

🍀 Logger

  • 각 클래스에 장착하면 해당 클래스에서 발생하는 로그를 수집하는 객체
  • 발생하는 로그들을 등급별로 수집하여 Appender로 전송하는 역할을 한다
  • 어떤 클래스를 감시해야하는지 클래스의 이름을 전달한다(클래스이름.class)

🍀 Appender

  • 수집된 로그들을 출력하는 장소
  • 파일, 콘솔, DB, 웹 등으로 발생한 로그들을 출력할 수 있다

🌼 File을 Append 하는 방법

  • log4j.xml에 appender와 appender-ref를 추가
<!-- Appenders -->
<appender name="myfile" class="org.apache.log4j.FileAppender">
		<param name="file" value="/log/mylog.txt"/>
		<layout class="org.apache.log4j.PatternLayout">	
			<param name="ConversionPattern" value="%-5p: %c - %m[%d{HH:mm:ss}]%n" />
		</layout>
	</appender>
	<appender name="myfile2" class="org.apache.log4j.FileAppender">
		<param name="file" value="/log/mylog2.html"/>
		<layout class="org.apache.log4j.HTMLLayout"/>	
	</appender>
    
 <!-- Root Logger -->
	<root>
		<priority value="warn" />
		<appender-ref ref="console" />
		<appender-ref ref="myfile" />
		<appender-ref ref="myfile2" />
	</root>

실행 결과 >>
param의 value에 설정한 경로에 해당 로그 파일이 추가된다

🍀 Layout

  • 로그를 출력하는 모양을 설정할 수 있다
  • Log
  • layout class의 param value에서 출력되는 형태를 직접 설정할 수 있다
  • 설정한 모양대로 콘솔에 출력된다

🌼 Log4j 업데이트하기

  1. Log4j에서 Maven 복사
  2. pom.xml에서 log4j를 해당 내용으로 변경 후 저장
  3. Package Explorer의 Maven Dependencies에서 log4j가 선택한 버전으로 변경되었는지 확인

🌼 Loging level

  • OFF : 모든 등급의 로그를 끔
  • FATAL : 아주 심각한 로그를 작성할 때 사용하는 등급(FATAL만 출력됨)
  • ERROR : 에러 발생 로그를 작성할 때 사용되는 등급 (ERROR보다 심각한 로그만 출력됨 / 빨간줄 등급)
  • WARN : 경고 로그를 작성할 때 사용하는 등급 (WARN보다 심각한 로그만 출력됨 / 노란줄등급)
  • INFO : 일반적인 정보 로그를 작성할 때 사용하는 등급 (INFO보다 심각한 로그만 출력됨/운영단계)
  • DEBUG : 디버깅 용도로 로그를 작성할 때 사용하는 등급 (DEBUG보다 심각한 로그만 출력됨/개발단계)
  • TRACE : 에러를 추적하기 위한 정밀한 로그를 작성할 때 사용하는 등급 (모든 로그가 출력됨/개발단계)
  • ALL : 모든 로그를 출력함(TRACE와 같다)
  • 로깅 레벨은 log4j.xml에서 각 로거의 레벨(value)에서 설정할 수 있다
profile
콜라맘 코딩일기

0개의 댓글