如何在春季调试交易



如何在Spring Boot应用程序中调试交易?

有没有办法查看方法调用如何在事务上下文中分组?

您在这里问了两个广泛的问题。

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---
}

默认情况下,如果使用"启动器",则将使用记录来记录。还包括适当的记录路由,以确保使用Java util Loggging,Commons Logging,Log4J或SLF4J的依赖库都可以正常工作。

2。分组与一项交易有关的方法调用:

这是一个非常广泛的主题,在分布式应用程序体系结构(如Micro-Services)的上下文中询问时,它甚至具有更广泛的应用程序。关键是,您如何将各种日志条目相互关联以将它们分组以呈现全面的视图。

解决方案在于概念称为分布式跟踪。您可以在乔什·朗(Josh Long)的这篇精彩帖子中详细介绍。

可以在此处找到有关讨论技术的更详细的文档 -

  • 侦探-http://cloud.spring.io/spring-cloud-sleuth/spring-cloud-sleuth.html
  • Zipkin -http://zipkin.io/

它应该帮助您实现想要的目标,但如果您对它们的使用有更多疑问,请提出另一个问题。

---编辑---

有一个有关春季参考记录的部分。

它显示了如何配置不同的记录框架,其中包括log4j

在您的情况下,配置的最后一行将是:

log4j.logger.org.springframework.transaction=DEBUG

最新更新