방금 SpringMVC 및 로그백을 탐색하기 시작했습니다. SpringMVC 컨트롤러에서 로깅
이
내 컨트롤러, (내가 지금까지 가지고있는 유일한 일)import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class IndexController {
protected final static Logger logger = LoggerFactory.getLogger(IndexController.class);
@RequestMapping("/index")
public ModelAndView index() {
logger.info("Returning index view");
return new ModelAndView("index");
}
}
이며,이 위의 테스트 코드입니다.
import org.junit.Test;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertEquals;
import org.springframework.web.servlet.ModelAndView;
public class IndexControllerTest {
@Test
public void index() throws Exception {
IndexController iController = new IndexController();
ModelAndView modelAndView = iController.index();
assertNotNull(modelAndView.getModel());
assertEquals("index", modelAndView.getViewName());
}
}
내가 FixedWindowRollingPolicy의 파일에 로그인 할 수 logback 설정을 가지고는 구성
<configuration>
<appender name="FILE"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>logFile.log</File>
<RollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>logFile.%i.log</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>3</MaxIndex>
</RollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>5MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%-26(%d{HH:mm:ss,SSS} [%thread]) %-5level %logger{32} - %msg%n
</Pattern>
</layout>
</appender>
<root level="info">
<appender-ref ref="FILE" />
</root>
</configuration>
문제, 지금이 사이트에 액세스하는 동안 어떤 항목이 로그 파일에 작성되지 않은 것입니다입니다 브라우저에서. 컨트롤러가 호출되어 브라우저에 표시되는 뷰를 반환한다고 가정하므로 뷰가 표시되기 전에 로그 메서드를 호출해야합니다. 그러나 아무 일도 일어나지 않습니다. 테스트를 실행할 때 예상대로
그러나, 로깅이 작동하고 난 "인덱스 뷰를 반환"에 대한 로그 파일에서 특정 항목이있다.
어떤 도움이나 위의 상황에 관한 지침
높게 평가된다.편집 : 현재 Apache에서 Tomcat6을 사용 중입니다.
logback 구성 파일, logback.xml은 SRC (기본 패키지) 바로 아래에 배치됩니다. 배포 후 점검 했으므로 WEB-INF/classes/
에 복사됩니다.
컨트롤러를 실행중인 컨테이너는 무엇입니까? – skaffman
로그백 구성 파일은 어디에 두시겠습니까? – axtavt
Tomcat6을 Apache와 함께 사용하고 있습니다. 정보를 추가하기 위해 편집 된 질문 – Sujoy