logger사용해보기

hanahana·2022년 10월 6일
0
post-thumbnail
  • 파이널 프로젝트에 logger를 사용해보고 싶어서 찾아봤다.
  • system.out.println은 서버에 부담을 주고 보안문제를 일으킬수 있다고 한다.
  • 깔끔하게 정리된 블로그가 있어서 따라해볼수있었다.

pom.xml에 logger 라이브러리 설치하기

  • log4j라는 라이브러리다. logger를 가장 편하게 쓰는 라이브러리라고 한다.
    <dependency>
    	<groupId>org.apache.logging.log4j</groupId>
     	<artifactId>log4j-slf4j-impl</artifactId>
    	<version>2.10.0</version>
    </dependency>

log4j.xml만들기

main- resorces 폴더에 해당 파일을 만든다.

<?xml version="1.0" encoding="UTF-8"?>

<Configuration>
	<!-- 로그 출력 방식 -->
	<Appenders>
    	<!-- 콘솔 출력 방식 -->
		<Console name="console-log" target="SYSTEM_OUT">
			<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n" />
		</Console>
	</Appenders>
	
	<Loggers>
		<Logger name="패키지주소.클래스명" level="DEBUG"></Logger>
		<Root level="DEBUG">
			<appender-ref ref="console-log" level="DEBUG" />
		</Root>
	</Loggers>
</Configuration>
  • <Logger name="패키지주소.클래스명" level="DEBUG"> 에 logger를 사용할 클래스 명을 적는다.

logger를 사용할 클래스

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class 클래스명 {
private static Logger log = LoggerFactory.getLogger(클래스명.class);
}
  • 필요한 라이브러리를 import하고 log를 선언한다.
    public String 메소드명() {
    
    		ArrayList<Member> mList = new ArrayList<Member>();
    		mList.add(new Member("user01", "pass01"));
    		mList.add(new Member("user02", "pass02"));
    		mList.add(new Member("user03", "pass03"));
    		mList.add(new Member("user04", "pass04"));
    		mList.add(new Member("user05", "pass05"));
    		mList.add(new Member("user06", "pass06"));
    
    		Gson gson = new Gson();
    //loger사용
    		log.debug(gson.toJson(mList));
    		return gson.toJson(mList); //mList를 json으로 바꿔줌
    
    	}
    • 이런식으로 println은 대체하여 사용할수있다.

결과

2022-10-06 18:50:14,812 DEBUG [http-nio-8899-exec-1] log.LogFormatUtils (LogFormatUtils.java:107) - GET "/ajax/ex6.kh", parameters={}
2022-10-06 18:50:14,857 DEBUG [http-nio-8899-exec-1] handler.AbstractHandlerMapping (AbstractHandlerMapping.java:415) - Mapped to com.kh.junspring.ajax.controller.AjaxController#exerciseAjax()
2022-10-06 18:50:14,954 DEBUG [http-nio-8899-exec-1] controller.AjaxController (AjaxController.java:138) - [{"memberId":"user01","memberPw":"pass01"},{"memberId":"user02","memberPw":"pass02"},{"memberId":"user03","memberPw":"pass03"},{"memberId":"user04","memberPw":"pass04"},{"memberId":"user05","memberPw":"pass05"},{"memberId":"user06","memberPw":"pass06"}]
2022-10-06 18:50:15,120 DEBUG [http-nio-8899-exec-1] annotation.AbstractMessageConverterMethodProcessor (AbstractMessageConverterMethodProcessor.java:255) - Using 'application/json;charset=utf-8', given [/] and supported [application/json;charset=utf-8]
2022-10-06 18:50:15,121 DEBUG [http-nio-8899-exec-1] log.LogFormatUtils (LogFormatUtils.java:107) - Writing ["[{"memberId":"user01","memberPw":"pass01"},{"memberId":"user02","memberPw":"pass02"},{"memberId" (truncated)..."]
2022-10-06 18:50:15,128 DEBUG [http-nio-8899-exec-1] servlet.FrameworkServlet (FrameworkServlet.java:1131) - Completed 200 OK

  • 이런식으로 내가 원하는 값을 출력할수 있게된다.

참고 블로그 : log4j의 개념과 사용법 :: 음악이 있는 개발자 블로그 (tistory.com)

profile
hello world

0개의 댓글