IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Logging Java Discussion :

level DEBUG malgre changement par programme


Sujet :

Logging Java

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 704
    Points : 934
    Points
    934
    Par défaut level DEBUG malgre changement par programme
    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
    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;
        }
    Une idee ? Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Hello,

    euh pour commencer, log4j2 ou logback??
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 704
    Points : 934
    Points
    934
    Par défaut
    le frichier xml est log4j2 et les imports sont sl4j
    J'ai mis logback afin de pouvoir faire un setLevel ce que je ne peut pas faire avec SL4J

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Bien sûr bien sûr, mais est-ce que t'as pensé à utiliser commons-logging pour les setPattern et log4j1 pour les rollovers?

    ... Ca donne quoi si tu enlèves logback et que tu changes les niveaux de logging avec Log4j2, celui que tu es supposé utiliser ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD23] Changement de style par programmation
    Par Nhaps dans le forum WinDev
    Réponses: 4
    Dernier message: 10/07/2020, 09h46
  2. changement de base de données par programme
    Par camatchou dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 03/06/2013, 09h35
  3. Réponses: 1
    Dernier message: 21/05/2013, 11h19
  4. Changement type clavier par programme
    Par HASSIOMAR dans le forum Langage
    Réponses: 2
    Dernier message: 01/06/2011, 19h37
  5. Comment créer un nouveau dossier par programmation ?
    Par annecyrond dans le forum Langage
    Réponses: 3
    Dernier message: 27/03/2003, 08h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo