spring-boot日志相关梳理(三)之spring-boot 项目里如何配置logging

日志入门

创建spring-boot-starter-logging项目

依赖:

  <properties>
        <spring.boot.version>2.1.3.RELEASE</spring.boot.version>
    </properties>
  <artifactId>spring-boot-starter-logging</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
    </dependencies>

代码(直接使用)

import org.apache.commons.logging.LogFactory;
import org.apache.logging.log4j.LogManager;
import org.slf4j.LoggerFactory;

import java.util.logging.Logger;

public class Application {
    public static void main(String[] args) {
        LogFactory.getLog(Application.class).info("common log日志");
        LoggerFactory.getLogger(Application.class).info("slf4j-api");
        LogManager.getLogger(Application.class).info("log4j-api 日志");
        Logger.getLogger("Application").info("java util log");
    }
}

LoggFactory三种api+java原生日志支持:

org.apache.commons.logging.LogFactory 是spring-jcl里自己包的一层(1.4.1版本里是依赖的jcl);根据依赖类的存在,实例化相关org.apache.logging.log4j.LogManager 是log4j-api实例化
org.slf4j.LoggerFactory 是slf4j相关api
java.util.logging.Logger 是java原生的日志

可以参考spring-boot日志相关梳理(-), 里面描述了spring-boot-autoconfigure里关于日志api的相关依赖。

spring配置相关使用:

修改pom文件

<properties>
        <spring.boot.version>2.1.3.RELEASE</spring.boot.version>
    </properties>

    <artifactId>spring-boot-starter-logging</artifactId>
    <dependencies>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.23</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>
    </dependencies>

application.yml

logging:
  file: hello.log

Java 代码:

public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class);
        LogFactory.getLog(Application.class).info("common log日志");
        LoggerFactory.getLogger(Application.class).info("slf4j-api");
        LogManager.getLogger(Application.class).info("log4j-api 日志");
        Logger.getLogger("Application").info("java util log");
    }
}

运行代码:发现console 和hello.log都有输出,spring 环境下都有哪些配置参数可以参考

~/.m2/repository/org/springframework/boot/spring-boot/2.1.3.RELEASE/spring-boot-2.1.3.RELEASE.jar!/META-INF/additional-spring-configuration-metadata.json

更多内容参考:https://docs.spring.io/spring-boot/docs/2.1.3.RELEASE/reference/html/boot-features-logging.html#boot-features-logging

logback demo :https://github.com/spring-projects/spring-boot/blob/v2.1.3.RELEASE/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logging/logback/defaults.xml

log4j2 demo: https://github.com/spring-projects/spring-boot/blob/v2.1.3.RELEASE/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logging/log4j2/log4j2.xml

java.util.logging demo : https://github.com/spring-projects/spring-boot/blob/v2.1.3.RELEASE/spring-boot-project/spring-boot/src/main/resources/org/springframework/boot/logging/java/logging-file.properties

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值