如何在执行 spring 启动应用程序之前清除日志文件?
How to clear log file before executing spring boot app?
我一直在使用默认的 spring 日志记录配置,我只在 application.properties 文件中指定文件名。
logging.file.name=app.log
但是当我从命令行 "java -jar abc.jar"
启动应用程序时,默认情况下会附加日志
我每次都尝试搜索在启动应用程序之前清除文件的属性,但找不到。如何在启动应用程序之前清除日志文件?
Spring Boot 使用 Logback 框架作为默认的 Logger。
您可以通过 application.properties 文件使用环境变量来设置一些日志记录属性,但 logback xml 配置提供更强大的功能。
当类路径中的文件具有以下名称之一时,Spring Boot 将自动加载它以覆盖默认配置:
- logback-spring.xml
- logback.xml
- logback-spring.groovy
- logback.groovy
所以您可以将下面的代码片段放入 src/main/resources/logback-spring.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="Console"
class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<append>false</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<!-- LOG everything at INFO level -->
<root level="info">
<appender-ref ref="FILE" />
<appender-ref ref="Console" />
</root>
</configuration>
<append>false</append>
行完成了这项工作。
如果您想记录比编码器模式 <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
可用的信息更多的信息,请查看 logback 文档 https://logback.qos.ch/manual/layouts.html#logback-access
我一直在使用默认的 spring 日志记录配置,我只在 application.properties 文件中指定文件名。
logging.file.name=app.log
但是当我从命令行 "java -jar abc.jar"
我每次都尝试搜索在启动应用程序之前清除文件的属性,但找不到。如何在启动应用程序之前清除日志文件?
Spring Boot 使用 Logback 框架作为默认的 Logger。 您可以通过 application.properties 文件使用环境变量来设置一些日志记录属性,但 logback xml 配置提供更强大的功能。
当类路径中的文件具有以下名称之一时,Spring Boot 将自动加载它以覆盖默认配置:
- logback-spring.xml
- logback.xml
- logback-spring.groovy
- logback.groovy
所以您可以将下面的代码片段放入 src/main/resources/logback-spring.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="Console"
class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>app.log</file>
<append>false</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<!-- LOG everything at INFO level -->
<root level="info">
<appender-ref ref="FILE" />
<appender-ref ref="Console" />
</root>
</configuration>
<append>false</append>
行完成了这项工作。
如果您想记录比编码器模式 <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
可用的信息更多的信息,请查看 logback 文档 https://logback.qos.ch/manual/layouts.html#logback-access