반응형

# 로그세팅

  • 개발을 빠르고, 편리하게 할 수 있도록 해준다.

1. eGovFrame로 클릭 후 src/main/java 하위에 패키지 생성 (패키지 명 : common.logger)

2. LoggerAspect.java 파일 추가

src/main/java에 추가
package common.logger
import java.util.Arrays;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;

@Aspect
public class LoggerAspec {
protected Log log = LogFactory.getLog(LoggerAspect.class);
static String name = "";
static String type = "";

@Around("execution(* kr.re.abc..controller.*Controller.*(..)) or excution(* kr.re.abc..service.*Service(..)) or execution(* kr.re.abc..service.impl.*Impl.*(..))")
public Object logPrint(ProceedingJoinPoint joinPoint) throws Throwable {
    type = joinPoint.getSignature().getDeclaringTypeName();
    
    System.out.println("type===>" + type);
    
    if (type.indexOf("Controller") > -1) {
    	name = "Controller===> \t:";
    } else if (type.indexOf("Service") > -1) {
    	name = "Service===> \t:";
    } else if (type.indexOf("ServiceImpl") > -1) {
    	name = "ServiceImpl===> \t:";
    }
    
    System.out.println(name + type + "." + joinPoint.getSignature().getName() + "()");
    System.out.println("파라미터정보::::" + Arrays.toString(joinPoint.getArgs()));

    /*파라미터 출력해보기
      Object[] signatureArgs = joinPoint.getArgs();
      for (Object param : signatureArgs) {
          System.out.println("param::::" + param);
      }
    */
    
    return joinPoint.proceed();
    }
  }
}

3. Java Build Path에 jar파일 추가

패키지 우 클릭 > Properties > Java Build Path에 jar파일 추가 

aspectjrt-1.5.0 / aspectjtools-1.5.0 2개

4. log4j.xml 파일 덮어쓰기

src/main/resources > config에 추가
  • 아래 코드 추가 (기존 value값 DEBUG, INFO로 변경)
<logger name="egovframework" additivity="false">
<level value="DEBUG">
<appender-ref ref="console">
</logger>

<logger name="jdbc.sqltiming" additivity="false">
<level value="INFO">
<appender-ref ref="console">
</logger>

<logger name="org.mybatis" additivity="false">
<level value="INFO">
<appender-ref ref="console">
</logger>

<logger name="java.sql" additivity="false">
<level value="INFO">
<appender-ref ref="console">
</logger>

5. dispatcher-servlet.xml 파일 덮어쓰기

src/main/resources > dispatcher에 추가
  • 아래 코드 추가
<aop:aspectj-autoproxy/>
<bean id="loggerAspect" class="common.logger.LoggerAspect"/>

6. context-aop.xml 파일 덮어쓰기

src/main/resources > spring에 추가
  • 아래 코드 추가
<bean id="loggerAspect" class="common.logger.LoggerAspect"/>
반응형

'메모장' 카테고리의 다른 글

Axure RP 다크모드 설정  (0) 2021.01.22
이클립스 search 결과 파일 새 창으로 오픈 설정  (0) 2021.01.15
스프링 AOP  (0) 2021.01.14
xml include refid  (0) 2021.01.14
console 출력 양 늘리기  (0) 2021.01.14

+ Recent posts