首页 > 解决方案 > Intellij 中的控制台日志格式已更改

问题描述

突然,intelliJ 的运行/调试选项卡中的日志格式已从默认格式更改为 json fromt,如下所述。我不确定它是如何改变的或如何恢复它。很难从这种格式读取/调试代码日志。

{"instant":{"epochSecond":1630330436,"nanoOfSecond":197120650},"thread":"main","level":"INFO","loggerName":"com.useargo.bi.dashboard.DashboardServiceApplication","message":"No active profile set, falling back to default profiles: default","endOfBatch":false,"loggerFqcn":"org.apache.commons.logging.LogAdapter$Log4jLog","threadId":1,"threadPriority":5} 

这是一个 Spring Boot 应用程序,我使用的是默认的 SLF4J 记录器。

有人如何将其恢复为默认/原始格式?

谢谢。

标签: javaintellij-ideaide

解决方案


很难说出你的项目发生了什么变化。检查最近添加到项目中的任何 JSON/Logstash 编码器,或最近引入的任何自定义日志配置。

对于本地开发和调试需求,我在项目类路径中保留了以下 xml ( logback.xml) 的 gitignored 副本,里面src/main/resources

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
  <include resource="org/springframework/boot/logging/logback/defaults.xml" />
  <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
  <property name="CONSOLE_LOG_PATTERN" value="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %X{id} %c{1} - %msg%n" />

  <appender name="CONSOLE_APPENDER" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>${CONSOLE_LOG_PATTERN}</pattern>
      <charset>utf8</charset>
    </encoder>
  </appender>

  <root level="INFO">
    <appender-ref ref="CONSOLE_APPENDER" />
  </root>
</configuration>

这是提供有关模式如何工作的信息的文档。


推荐阅读