在我的spring-boot应用程序的application.yml中,我有以下代码:
logging:
file: test.log
pattern:
file: "%d %-5level [%thread] %logger : %msg%n"
我会写类似的东西
logging:
level:
org: hibernate: *
我想过滤和收集所有级别的所有日志消息(错误,调试,信息等),而不是“test.log”中的一个特定包(org.hibernate)。有可能的?
是的,您可以为每个/第三个库包定义日志级别:
application.yml
的示例:
# Fine-tuning a specific logger (for a single class)
logging:
level:
yourpackage: INFO
org:
hibernate: ALL
springframework: INFO
application.properties
的示例:
# Fine-tuning a specific logger (for a single class)
logging.level.yourpackage.controllers.HomeController = INFO
# Specify the level for spring boot and hibernate's loggers
logging.level.org.springframework = INFO
logging.level.org.hibernate = ALL
更新1:仅将hibernate。*记录到日志文件中
如果只想将一个特定的Java包记录到日志文件中,请将logback.xml
添加到src/main/resources
文件夹并添加以下设置:
<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>hibernateLogs.log</file>
<encoder>
<pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
</encoder>
</appender>
<logger name="org.hibernate" level="ALL">
<appender-ref ref="FILE" />
</logger>
</configuration>
此配置会将所有hibernate日志记录到文件中。