Logback-Print out nom de la méthode qui a appelé la méthode log

dans mon exemple, j'ai le code suivant:

package com.example.somepackage;

public class Example {
    public static void main(String[] args) {
        org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(Example.class);
        logger.info("Example message.");
    }
}

je veux qu'il sorte sur la console comme cet exemple minimal:

com.example.somepackage.Example.main Example message.

la seule chose dont j'ai besoin est soit:

  • un motif à mettre dans le fichier logback.xml ou
  • instructions sur le code supplémentaire que je dois ajouter à mon exemple de scénario de code

si un code supplémentaire est utilisé au lieu de un modèle de configuration XML, veuillez également fournir des informations sur la façon de coupler ces deux, de sorte que l'on peut toujours utiliser des modèles pour le temps, le niveau de log, etc. en plus le nom de la méthode étant imprimées.

8
demandé sur RAnders00 2015-08-10 10:55:06

1 réponses

je pense que vous cherchez le modèle %M . Voir la Logback docs pour tous les modèles que vous pourriez utiliser. Notez, cependant, que ces docs disent aussi:

Générer le nom de la méthode n'est pas particulièrement rapide. Par conséquent, son utilisation devrait être évitée à moins que la vitesse d'exécution ne soit pas un problème.

22
répondu mthmulders 2018-04-30 18:08:37