log4j2 로그 파일 만들기, 특정데이터 로그 남기기
특정 데이터의 로그를 남기고 싶을 경우에 사용합니다.
전자정부프레임워크의 src/main/resource 경로로 이동하시면 log4j2.xml 이라는
log4j2 설정 파일이 있습니다.
(log4j 와 다르게 log4j2는 xml 파일로 설정이 가능합니다.)
우선 로그파일이 남게 하기 위해선 file appenders가 필요합니다.
<Configuration> 태그 아래
<Appenders> 태그 사이에 <File> 태그를 추가합니다.
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
<File name="file" fileName="./logs/file/am_test.log">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</File>
</Appenders>
이렇게 하고 프로젝트를 재실행 하면 해당 경로에 파일이 생성된 것을 확인 하실 수 있습니다.
이제 특정 패키지 내의 모든 로그를 찍기 위한 작업을 하도록 하겠습니다.
<Appenders> 아래 <Loggers> 태그에 아래와 같이 추가합니다.
<logger name="egovframework.eCall.amTest.web" level="trace" additivity="false" >
<AppenderRef ref="file" />
</logger>
내용인 즉슨, egovframework.eCall.amTest.web 패키지 내에 trace 레벨로 중복없이 남기겠다는 의미 입니다.
Level에 대해서는 아래의 Link를 참고하세요.
Link : 전자정부프레임워크 Log4j2 환경설정
이제 위의 패키지내의 컨트롤러로 이동하도록 하겠습니다.
egovframework.eCall.amTest.web 패키지 내에는 AmTestController 클래스가 있고
그 내에서 받은 value 값을 로그로 남기고 싶다고 합니다.
public class AmTestController {
//해당 클래스에 로거를 생성하고
Logger logger = Logger.getLogger(AmTestController.class);
@RequestMapping(value="/cbor", produces="text/plain;charset=UTF-8")
@ResponseBody
public String cborInsertMsd(HttpServletRequest request) throws Exception {
String cbor = request.getParameter("value");
//받은 파라메터 값을 로그로 출력합니다.
logger.info(cbor);
}
}
이렇게 설정을 하게 되면 해당 파일에 로그 값이 남게 됩니다.
'Programing > egovFramework' 카테고리의 다른 글
전자정부 JAVA 중복 로그인 방지 처리 방법, 동시접속 제한 (0) | 2017.12.20 |
---|---|
전자정부프레임워크 iBatis, MyBatis 설정 방식 차이, 비교 (1) | 2017.08.29 |
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-4) - context-transaction.xml (0) | 2017.02.15 |
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-3) - context-datasource.xml (0) | 2017.01.25 |
전자정부프레임워크 나만의 웹 템플릿 프로젝트 생성하기(4-2) - context-common.xml (2) | 2017.01.25 |
댓글