Je viens de commencer à explorer SpringMVC et à me reconnecter.Connexion à partir du contrôleur SpringMVC
Ceci est mon contrôleur, (le seul que j'ai jusqu'à présent)
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");
}
}
et c'est le code de test pour ce qui précède.
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());
}
}
J'ai installé logback de se connecter à un fichier avec FixedWindowRollingPolicy, la configuration est,
<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>
Le problème, j'ai maintenant, est que pas d'entrée est créée dans le fichier journal tout en accédant au site à partir du navigateur. Je suppose que le contrôleur est appelé qui renvoie par la suite la vue qui est présentée dans le navigateur, et par conséquent la méthode de journal doit être appelée avant que la vue est affichée. Mais rien ne se passe.
Cependant, lors de l'exécution du test, la journalisation fonctionne comme prévu et j'ai l'entrée spécifique dans le fichier journal pour "retourner la vue d'index".
Toute aide ou conseil concernant la situation ci-dessus est très appréciée.
EDIT: Utilisation de tomcat6 avec apache pour le moment.
Le fichier de configuration de logback, logback.xml, est placé directement sous src (package par défaut). Comme je l'ai vérifié après le déploiement, il est copié dans WEB-INF/classes/
Dans quel conteneur utilisez-vous le contrôleur? – skaffman
Où placez-vous votre fichier de configuration de logback? – axtavt
J'utilise Tomcat6 avec Apache. question éditée pour ajouter l'information – Sujoy