修改Spring Boot的日志配置
这是关于使用Spring Boot时的日志设置方法和编写logback.xml文件的指南。
Spring Boot的默认日志设置
-
- コンソールにのみログが出力されます。
-
- ルートのログレベルは[INFO]です。
-
- ログの書式は 25.1 Log format に書かれています。
-
- ログ実装はLogbackが使用されます。
- Logback以外を使用したい場合は 66.2 Configure Log4j for logging を参考にpom.xmlを変更します。
日志设置方法 (Rogu
在Spring Boot中,有两种日志设置方法。
- 使用属性进行设置
- 我们可以在application.yml等文件中进行属性的设置。设置很简单,但可设置的内容有限。
- 编写logback.xml
- 与通常使用Logback的方式相同,在类路径的根目录下创建logback.xml文件。相比属性设置来说稍复杂,但可以进行详细的配置。可以通过包含默认的配置文件来使内容最小化。
可以在属性中更改的设置
日志文件的输出
当在设置文件或其他地方指定以下属性时,将开始将日志输出到文件中。
- logging.file指定了日志文件的路径和文件名。如果只指定了文件名,则会在当前目录中使用指定的文件名输出日志。
- logging.path指定了日志文件的输出目录。文件名将会是`spring.log`。
同时指定这两个参数似乎是不被允许的,如果同时指定,那么只会生效logging.file参数的指定。
日志等级的设定
使用property.logging.level以下标记指定类别。
要将org.springframework类别的日志级别更改为WARN,应按以下方式进行编写。
logging.level.org.springframework: WARN
指定根记录级别
在中文中,根据以下方式指定日志级别。
logging.level.: INFO
logging.level.root: INFO
logging.level.ROOT: INFO
编写logback.xml
如果您想要进行除了这里所写的以外的定制化,您需要编写logback.xml文件,但不必完全从头开始编写,只需包含Spring Boot默认的logback设置即可使事情变得轻松。
默认的logback配置是位于spring-boot.<版本>.jar的org.springframework.boot.logging.logback中的以下文件。
- base.xml
- 这是作为默认配置的根文件。从这个文件中包含下面的文件。
defaults.xml
定义了日志格式等属性。此外,还定义了Spring使用的库的日志级别,以避免产生不必要的日志输出。
console-appender.xml
默认的控制台输出配置。
file-appender.xml
默认的文件输出配置。
在编写logback.xml时,有以下三种模式可供自定义使用。
-
- デフォルト設定+αで追加の設定をする
-
- デフォルト設定を変更する
- 全て独自の設定にする
在默认设置的基础上进行附加设置
如果想要添加Applener或者进行其他额外设置,可以在logback.xml中引入base.xml,并在其中描述所需的额外设置,而保持默认设置不变。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<!-- ここに追加したい設定を記述 -->
</configuration>
更改默认设置
如果想要修改defaults.xml中定义的属性或更改默认设置,可以将base.xml的内容复制到logback.xml中,并进行所需的更改。
如果要更改在defaults.xml中定义的日志格式(CONSOLE_LOG_PATTERN和FILE_LOG_PATTERN),可以按照以下方式进行。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<property name="CONSOLE_LOG_PATTERN" value="..."/>
<property name="FILE_LOG_PATTERN" value="..."/>
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
<root level="INFO">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>
</configuration>
将所有设置都设为独特的
请根据自己的喜好随意书写。
请提供下列中文来进行本地化的改写:
参考一种选择
参考一种选项
Spring Boot 官方文档
-
- 25. Logging
- 66. Logging
默认的logback配置文件(github上)
-
- base.xml
-
- defaults.xml
-
- console-appender.xml
- file-appender.xml
Logback: Logback是一个用于Java开发的日志框架。
- Logback Home