2017-03-10 180 views

回答

0

您在此處詢問了2個廣泛的問題。

1.如何調試事務(從你的文章標題假設,你正在尋找記錄)

,以實現最簡單的方法是使用SpringBoot捆綁java.util.logging.Logger

下面的代碼片段會告訴您如何:

public class EmojiController { 

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

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

默認情況下,如果你使用「啓動器」的logback將用於記錄。還包括適當的Logback路由,以確保使用Java Util日誌記錄,Commons Logging,Log4J或SLF4J的相關庫都能正常工作。

2.分組與一個交易方法調用:

這是一個非常廣泛的話題,有當分佈式應用架構一樣,微服務的情況下,甚至要求更廣泛的應用。關鍵是,你如何將各種日誌條目相互關聯,以便將它們組合爲一個整體視圖。

對此的解決方案在於名爲的概念分佈式跟蹤。你可以在Josh Long的精彩post中詳細閱讀。

在討論技術更詳細的信息可以在這裏找到 -

它應該幫助你實現你想要什麼,但如果你有更多的問題,請提出另一個問題。

---編輯---

有一個關於在Spring Reference記錄部分。

它顯示瞭如何配置不同的日誌框架,其中的log4j

在你的情況下,配置的最後一行是:

log4j.logger.org.springframework.transaction=DEBUG

+0

1.您提的記錄,但我很感興趣在哪個春天框架可以記錄與它如何處理交易有關,或者更好地說明它如何處理用@Transactional註釋的方法。我也會對如何通過使用調試器(尋找什麼類,如何設置斷點,如果這是真的可行等),獲得對Spring內部工作的見解感興趣。 – screab

+0

2.我沒有一個分佈式應用程序,所以你回答不適用。我想知道是否有一種方法(例如打開某個spring組件的日誌記錄)來查看spring處理/組@Transactional註釋方法的方式。 – screab

+0

我曾建議你在原始問題中更詳細和具體。我相信這篇文章會爲你回答在後臺發生的事情。 - http://stackoverflow.com/questions/1099025/spring-transactional-what-happens-in-background給你一些它的內部和調試方法的想法 –