Bonjour
J'ai récupéré une application SpringMVC, qui utilise SL4J afin de logger
J'ai fait un petit morceau de code pour changer par programme le niveau de log, notamment en Prod
Cela ne fonctionne que partiellement
J'ai toujours des "DEBUG org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter:doFilterInternal(194): Closing JPA EntityManager in OpenEntityManagerInViewFilter" qui reviennent alors que j'ai forcé le niveau ERROR ??
Je n'ai pas vu de scan=true dans les fichiers log4j2.xml
Une idee ? Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 @RequestMapping("/changelevel") public String changeLogLevel(@RequestParam(required=false) String loggerName, @RequestParam String level) { String rt="ko"; LOGGER.debug("Begin Debug change level"); LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory(); if (loggerName == null) { for (ch.qos.logback.classic.Logger loggerb : context.getLoggerList()) { loggerb.setLevel(Level.toLevel(level)); } rt= "ok"; } else { ch.qos.logback.classic.Logger logger = loggerName.equalsIgnoreCase("root") ? context.getLogger(loggerName) : context.exists(loggerName); if (logger != null) { logger.setLevel(Level.toLevel(level)); rt="ok"; } else rt= "ko"; } LOGGER.debug("End Debug change level debugLevel show"); //OK invisible LOGGER.error("End Debug change level errorLevel show"); return rt; }
Partager