当前位置: 首页 > 知识库问答 >
问题:

Spring Boot执行器JMXendpoint的漂亮打印输出

云季萌
2023-03-14

我有一个Spring Boot控制台应用程序,我通过JMX访问执行器endpoint。问题是返回的文本打印得不好,也不是JSON。它看起来像这样:

{context=application, parent=null, beans=[{bean=helloWorldApplication, scope=singleton, type=com.surpreso.spring_skeleton.HelloWorldApplication, resource=null, dependencies=[helloWorldService]}, {bean=helloWorldService, scope=singleton, type=com.surpreso.spring_skeleton.HelloWorldService, resource=file [C:/src-tmp/spring-skeleton/target/classes/com/surpreso/spring_skeleton/HelloWorldService.class], dependencies=[]}, {bean=com.surpreso.spring_skeleton.DefaultConfig,  ...

将其转换为可读格式的最佳方法是什么?是否可以将JMX执行器配置为漂亮打印?是否可以将JMX执行器配置为使用JSON?

有一个关于Spring Boot Actuatorendpoint的漂亮打印JSON输出的相关问题,但在这种情况下,我被JMX卡住了,因为我没有Web应用程序。作为下一步,我将尝试CRaSH,但我很好奇我是否可以将JMX执行器配置为更可用。

我使用的是Spring Boot的1.2.5版本。

更新:崩溃实现使用相同的格式,因此它不是解决方案。

更新2:我在1.3.0中看到了这个关于“在所有Endpoint MBeans中使用配置的ObjectMapper(如果可用)”的提交,但我不知道要为漂亮的打印设置哪些属性。它很近...

更新3:spring.jackson.serialization.indent_output=true通过CRaSH接口没有任何效果。我现在在1.3.0。M2。

共有1个答案

楚举
2023-03-14

粘贴的输出是有效的json文档。到底是什么让你认为它是无效的?

如果您想漂亮地打印格式,这实际上取决于您访问JMXendpoint的方式。例如,如果您通过JConsole访问它,我不确定漂亮的打印输出对于大型文档是否具有可读性。如果您手动访问JMXendpoint,那么您可以非常轻松地读取String并漂亮地打印输出(JSONObject有一个toString方法,它接受您要在文档上应用的缩进)。

关于CRaSH,这实际上是不相关的。执行器endpoint位于CRaSH之外,不使用它的任何功能

编辑:我的错误,这不是有效的JSON,我在Spring Boot问题跟踪器中创建了#3658。

 类似资料:
  • Spring Boot Actuctor提供了几个endpoint来监控应用程序: 使用以下方法检查endpoint: 结果如下: 这对机器消费很好,但人类很难读懂。 我想对Spring Boot执行器endpoint的JSON输出进行格式化(即漂亮的打印),以使操作人员更容易阅读它们。 我试过设置 但此设置并不影响执行器的输出。 是否有一个配置来启用Spring Boot执行器JSON输出的漂亮

  • 如何从AWS漂亮地打印出Boto EC2输出? 这是原版(不太漂亮): s是什么? 如果我尝试使用Python的JSON转储,我得到:

  • 问题内容: 如果有人对JSON的打印非常了解,那么我将不胜感激! 我正在使用以下功能将JSON字符串移动到文件中,以将复杂的python字符串转换为JSON格式: 问题是我遇到了方括号的语法错误,因为这对我来说是个新话题,我不知道该如何解决。我需要的JSON格式如下: 我正在使用Google Visualization API,您可能对此比较熟悉,但是我需要动态图。上面的代码是API创建图形所需的

  • 问题内容: 我正在创建一个JSON文件的脚本。现在,我只是使用(PHP 5.2.x)将数组编码为JSON输出。然后,我将返回值打印到文件中并保存。问题是客户端希望能够打开这些JSON文件以提高可读性,因此我想在其中添加换行符并“漂亮打印” JSON输出。有关如何执行此操作的任何想法?我唯一可以看到的替代方法是完全不使用,而只是手动写入文件内容,并为每行添加自己的换行符。 这是我得到的: 这就是我想

  • 下面是我的例子: 如何为JSONARRAY启用漂亮的打印? 我认为这足以解释我的问题,但是这里有一些bla bla bla bla bla bla因为stackoverflow问我更多的细节,让我发布问题。

  • 问题内容: 我使用以下代码将a漂亮地打印到JSON中: 输出: 这有点 太多了 (每个列表元素的换行!)。 我应该使用哪种语法: 代替? 问题答案: 几年后,我找到了带有内置模块的解决方案: 输出: