当前位置: 首页 > 工具软件 > boot-nbsaas > 使用案例 >

spring-boot-starter-logging 的使用

南宫凯康
2023-12-01

Java中可以提供日志功能的特别多,从 java.util 默认提供的日志支持,到 log4j,log4j2,commons logging 等,但我一般比较喜欢西永logback,下面我们看下springboot中logback如何配置。

在springboot项目中 ,只需要在 maven 依赖pom.xmlzhong 添加了 spring-boot-starter-logging,如以下代码所示:

<dependency>
    <groupId> org.springframework.boot </groupId>
    <artifactId> spring-boot-starter-logging </artifactId>
</dependency>

我们的 SpringBoot 应用将自动使用 logback 作为应用日志框架。SpringBoot 启动的时候,由 org.springframework.boot.logging.Logging-Application-Listener 根据情况初始化并使用。

SpringBoot 为我们提供了很多默认的日志配置,所以只要将 spring-boot-starter-logging 作为依赖加入到当前应用的 classpath,则“开箱即用”,不需要做任何多余的配置。

如果我们要对默认 SpringBoot 提供的应用日志设定做调整,则可以通过几种方式进行配置调整:

  • 遵循 logback 的约定,在 classpath 中使用自己定制的 logback.xml 配置文件。
  • 在文件系统中任何一个位置提供自己的 logback.xml 配置文件,然后通过 logging.config 配置项指向这个配置文件来启用它,比如在 application.properties 中指定如下的配置。
    logging.config=/{yourpath}/ logback.xml

SpringBoot 默认允许我们通过在配置文件或者命令行等方式使用 logging.file 和 logging.path 来自定义日志文件的名称和存放路径,不过这只是允许我们在 SpringBoot 框架预先定义的默认日志系统设定的基础上做有限的设置,如果我们希望更灵活的配置,最好通过框架特定的配置方式提供相应的配置文件,然后通过 logging.config 来启用。

当然如果需要使用 log4j 或者 log4j2,可以采用类似的方式将它们对应的 spring-boot-starter 依赖模块加到 Maven 依赖中:

<dependency>
    <groupId> org.springframework.boot </groupId>
    <artifactId> spring-boot-starter-log4j </artifactId>
</dependency>

或者

<dependency>
    <groupId> org.springframework.boot </groupId>
    <artifactId> spring-boot-starter-log4j2 </artifactId>
</dependency>

配置方法与上面差不多,文件名字相应改为log4j.xml 或 log4j2.xml。

btw,一个系统最好使用一套日志框架,便于开发、便于维护且不会产生冲突。

 类似资料: