SpringBoot学习之路(三): slf4j日志的使用,项目属性的配置

【slf4j日志的使用】

     在一开始,我一般判断信息的时候,都是在代码块中使用使用 System.out.println()来打印一些信息,但都说这种方法不好,我也这么认为,毕竟太烦了了,对程序运行而言会增加资源的消耗,而对我来说就是会增加我的麻烦。

就像下面这样的例子:

@RestController
@RequestMapping("/test")
public class TestController {
    @PostMapping("/login")
    public String login(String username,String password){
        if(Constants.OUT_FLAG)
            System.out.println("用户名称:%s ,用户口令:%s", username,password);
        return "index";
    }
}

   我可以通过 Constants 接口中的常量定义是否需要输出,或者使用 int 型来控制不同的输出等级

     然后我在网上搜索资料的时候,就看到实际项目中使用的是 slf4j logback 来输出日志,效率挺高的,Spring Boot 提供了一套日志系统,logback 是最优的选择。下面我来进行我对它的学习总结:

1.slf4j 介绍

     SLF4J 即简单日志门面,不是具体的日志解决方案,它只服务于各种各样的日志系统。按照官方的说法,SLF4J是一个用于日志系统的简单 Facade,允许最终用户在部署其应用时使用其所希望的日志系统。
     这里的意思是:只需要按统一的方式写记录日志的代码,而无需关心日志是通过哪个日志系统,以什么风格输出的。因为它们取决于部署项目时绑定的日志系统。例如,在项目中使用了 slf4j 记录日志,并且绑定了 log4j,即导入相应的依赖,则日志会以 log4j 的风格输出;后期需要改为以 logback 的风格输出日志,只需要将 log4j替换成 logback 即可,不用修改项目中的代码。

     这对于第三方组件的引入的不同日志系统来说几乎零学习成本,况且它的优点不仅仅这一个而已,还有简洁的占位符的使用和日志级别的判断。

2.【slf4j-log4j】通过 slf4j 调用 log4j 的实现

1.需要导入的依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j</artifactId>
            <version>1.3.8.RELEASE</version>
        </dependency>
    </dependencies>

2. 在 resources 根目录下创建一个 log4j 的配置文件 log4j.properties

og4j.rootLogger=DEBUG, stdout //根日志记录器, 参数 1 为需要输出的日志等级,参数 2 为日志输出的目标地名称 stuout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender// 设置stdout 是控制台输出
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout //配置日志输出的格式
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

 

 

 

 

 

 


 

posted @ 2023-07-24 19:09  躺平小伙  阅读(105)  评论(0编辑  收藏  举报