在 spring-boot 应用程序中过滤日志
Filter logs in spring-boot application
在我的 spring-boot 应用程序的 application.yml 中,我有以下代码:
logging:
file: test.log
pattern:
file: "%d %-5level [%thread] %logger : %msg%n"
我会这样写
logging:
level:
org: hibernate: *
如果只来自 "test.log" 中的一个特定包 (org.hibernate),我会过滤并收集所有级别的所有日志消息(ERROR、DEBUG、INFO 等)。有可能吗?
是的,您可以为每个 your/third 库包定义日志级别:
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>
此配置会将您所有的休眠日志记录到一个文件中。
在我的 spring-boot 应用程序的 application.yml 中,我有以下代码:
logging:
file: test.log
pattern:
file: "%d %-5level [%thread] %logger : %msg%n"
我会这样写
logging:
level:
org: hibernate: *
如果只来自 "test.log" 中的一个特定包 (org.hibernate),我会过滤并收集所有级别的所有日志消息(ERROR、DEBUG、INFO 等)。有可能吗?
是的,您可以为每个 your/third 库包定义日志级别:
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>
此配置会将您所有的休眠日志记录到一个文件中。