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

在同一行打印所有日志

杜君浩
2023-03-14
{"timestamp":"2016-11-13 23:06:17.727","level":"INFO","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Info log:: printme 1","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"DEBUG","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Debug log:: printme","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"WARN","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Warn log:: printme","context":"default"}{"timestamp":"2016-11-13 23:06:17.727","level":"ERROR","thread":"qtp745835029-19","logger":"com.test.controller.TestController","message":"Error log:: printme","context":"default"}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <appender name="consoleAppender" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
            <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
                <prettyPrint>false</prettyPrint>
            </jsonFormatter>
            <timestampFormat>yyyy-MM-dd' 'HH:mm:ss.SSS</timestampFormat>
        </layout>
    </appender>
    <logger name="jsonLogger" additivity="false" level="DEBUG">
        <appender-ref ref="consoleAppender"/>
    </logger>
    <root level="INFO">
        <appender-ref ref="consoleAppender"/>
    </root>
</configuration>

谢谢你在这方面的帮助。

共有1个答案

糜运良
2023-03-14

编辑:尝试将prettyPrint更改为true-> true

您在ConsoleAppender中写入了两次日志

   <logger name="jsonLogger" additivity="false" level="DEBUG">
        <appender-ref ref="consoleAppender"/>
    </logger>
    <root level="INFO">
        <appender-ref ref="consoleAppender"/>
    </root>

改为

<logger name="jsonLogger" additivity="false" level="DEBUG"/>
<root level="INFO">
    <appender-ref ref="consoleAppender"/>
</root>
 类似资料:
  • 问题内容: 我想运行一个脚本,该脚本基本上显示如下输出: 目前,我先打印,然后再打印。 不过,我现在想打印并在同一行。 有任何想法吗? 问题答案: 你可以使用该语句执行此操作,而无需导入。 该print行末尾的逗号阻止print发布新行(你应注意,输出末尾会有多余的空间)。 Python 3解决方案 由于以上内容在Python 3中不起作用,因此你可以改为这样做(同样,不导入): 打印功能接受默认

  • 问题内容: 我正在尝试使用之间的计时器在同一行上打印两个字符串。这是代码: 但是似乎程序等待两秒钟,然后打印两个字符串。 问题答案: 在python 2.7中,您可以使用 将来的 包中的print_function 但是就像您说的那样,这将等待2秒钟,然后打印两个字符串。根据Gui Rava的回答,您可以刷新stdout,这是一个示例,可以使您朝正确的方向前进:

  • 问题内容: 我有一个称为Items的基类和3个派生类,在Items基类中,我具有以下形式的打印功能 在每个派生类中,我都调用Items打印功能,然后通过它调用与派生类相关的特定打印功能。 我的问题是,每当从派生类之一执行打印时,打印的文本就不在同一行上。因此将在派生类打印功能上方的行中。如何使他们都在同一条线上? 问题答案: 不要在基类上使用代替

  • 问题内容: 我正在尝试解析JSON文档,并在同一行上打印几个值。有没有办法获取以下文件: 然后吐出来: 我可以获得所需的值,但它们分别打印在不同的行上: 如果某处有一个示例说明如何执行此操作,那么我会感激任何提示。 问题答案: 您的示例中最简单的方法是将String Interpolation 与选项一起使用。例如 产生 您可能还需要考虑将值放入数组中并使用@tsv例如 产生制表符分隔的

  • 问题内容: 我想将循环的输出打印到同一行的屏幕上。 如何以最简单的方式针对Python 3.x进行操作 我知道在Python 2.7的末尾使用逗号来问这个问题,即print I,但是我找不到Python 3.x的解决方案。 屏幕输出。 我要打印的是: 新读者也可以访问此链接http://docs.python.org/release/3.0.1/whatsnew/3.0.html 问题答案: 来自

  • 问题内容: 我有一个关于在Python 3中使用循环在同一行上打印的问题。我搜索了答案,但找不到任何相关内容。 所以,我有这样的事情: 当用户键入“短句”时,该功能应该对其进行处理,并应将其打印在同一行上。假设该函数在每个单词的末尾添加了“ t”,因此输出应为 但是,目前的输出是: 如何轻松在同一行上打印结果?还是我应该做一个新的字符串 它被迭代,最后我打印出来? 问题答案: 在函数中使用参数 还