2017-03-10 3 views

Antwort

0

Sie haben hier 2 allgemeine Fragen gestellt.

1. Wie eine Transaktion debuggen (von Ihrem Post-Titel unter der Annahme, Sie sind für die Protokollierung suchen)

Die einfachste Art und Weise zu erreichen ist die gebündelte java.util.logging.Logger in SpringBoot zu verwenden.

Below-Code-Snippet sollte Ihnen sagen, wie:

public class EmojiController { 

    private final static Logger logger = Logger 
      .getLogger(EmojiController.class.getName()); 

    public ModelAndView getEmoji() { 
     logger.info("emoji: " + emojiId + " lookup initiated"); 
     ---do something--- 
} 

standardmäßig Wenn Sie die ‚Starter‘ verwenden, wird Logback für die Protokollierung verwendet werden. Entsprechendes Logback-Routing ist ebenfalls enthalten, um sicherzustellen, dass alle abhängigen Bibliotheken, die Java Util Logging, Commons Logging, Log4J oder SLF4J verwenden, korrekt funktionieren.

2. Gruppierung der Methodenaufrufe zu einer Transaktion im Zusammenhang:

Dies ist ein sehr breites Thema und hat sogar eine breitere Anwendung, wenn im Rahmen der verteilten Anwendungsarchitektur wie, Mikro-Dienstleistungen gefragt. Der Punkt ist, wie Sie verschiedene Log-Einträge miteinander verknüpfen, um sie für eine ganzheitliche Ansicht zu gruppieren. Die Lösung dafür liegt in dem Konzept Distributed Tracing. Sie können im Detail in diesem wunderbaren post von Josh Long lesen.

Weitere ausführliche Dokumentation zu den diskutierten Technologien sind hier zu finden -

Es sollte helfen Sie erreichen, was Sie wollen, aber falls Sie haben Weitere Fragen zu ihrer Verwendung, werfen Sie bitte eine andere Frage auf.

--- EDIT ---

Es gibt einen Abschnitt über Logging im Spring Reference.

Es zeigt, wie verschiedene Logging Frameworks zu konfigurieren, darunter die letzte Zeile der Konfigurations LOG4J

wäre in Ihrem Fall:

log4j.logger.org.springframework.transaction=DEBUG

+0

1. Sie sind zu erwähnen die Protokollierung, aber ich bin interessiert In welchem ​​Spring-Framework protokolliert werden kann, wie es mit Transaktionen umgeht, oder besser gesagt, wie es Methoden behandelt, die mit @Transactional gekennzeichnet sind. Mich würde auch interessieren, wie ich durch den Einsatz eines Debuggers Einblicke in die inneren Abläufe des Frühlings bekommen kann (welche Klassen zu suchen, wo Breakpoints gesetzt werden, wenn dies wirklich machbar ist, usw.) – screab

+0

2. Ich habe keine Eine verteilte Anwendung, auf die Sie antworten, trifft nicht zu.Ich möchte wissen, ob es einen Weg gibt (zum Beispiel die Protokollierung für eine Federkomponente aktivieren), um zu sehen, wie die Feder/Gruppen @Transaktional Annotated Methoden behandelt. – screab

+0

Ich hatte vorschlagen, dass Sie in der ursprünglichen Frage dann detaillierter und spezifischer sein. Ich glaube, dass dieser Beitrag für Sie antworten soll, was im Hintergrund passiert. - http://stackoverflow.com/questions/1099025/spring-transactional-what-happens-in-background, um Ihnen eine Vorstellung von seiner internen und Methoden zu geben, um zu debuggen –

Verwandte Themen