如何解决登录 Spring Boot 未显示在终端中
我在 Spring Boot
中有一个项目,我在其中添加带有 @Slf4j
注释的日志,但在启动项目时无法让它们显示在终端中。
这是日志:log.info("totalVacations: " + totalVacations);
当我运行命令 mvn spring-boot
: run 时,在终端中我看不到消息。
解决方法
您很可能缺少 appender 的配置,如果您也在使用 LOG4J 而您还没有它,您可以在应用程序的类路径,然后创建一些基本配置,如:
log4j2.xml
这里的关键是设置一个 appender 到控制台,以便将日志推送到那里,然后在 logger 部分建立你想在控制台 appender 中获得哪个级别,根据你的例子应该是 INFO
如果您只使用带有 Logback 的普通 SLF4J,请转到 <Configuration>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%style{%d{ISO8601}}{black} %highlight{%-5level }[%style{%t}{bright,blue}] %style{%C{1.}}{bright,yellow}: %msg%n%throwable" />
</Console>
<RollingFile name="RollingFile"
fileName="./logs/spring-boot-logger-log4j2.log"
filePattern="./logs/$${date:yyyy-MM}/spring-boot-logger-log4j2-%d{-dd-MMMM-yyyy}-%i.log.gz">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
<Policies>
<!-- rollover on startup,daily and when the file reaches
10 MegaBytes -->
<OnStartupTriggeringPolicy />
<SizeBasedTriggeringPolicy
size="10 MB" />
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<!-- LOG everything at INFO level -->
<Root level="info">
<AppenderRef ref="Console" />
<AppenderRef ref="RollingFile" />
</Root>
<!-- LOG "com.baeldung*" at TRACE level -->
<Logger name="com.baeldung" level="trace"></Logger>
</Loggers>
</Configuration>
并添加以下行:
src/main/resources/application.properties
“.com”将包引用到将应用到的位置,在这种情况下是 src/main/java/com 中的所有内容。
并在 logging.level.com=INFO
尝试此基本配置:
logback-spring.xml
您可以在此处找到包含更多信息的非常好的教程:
- https://www.baeldung.com/spring-boot-logging
- https://springframework.guru/using-logback-spring-boot/
检查@Slf4J 导入是否来自 Lombok 或其他一些库。我确定 lombok @Slf4J 默认提供小写日志而不是 LOG。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。