我是靠谱客的博主 受伤信封,最近开发中收集的这篇文章主要介绍Springboot学习4--logback日志,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.简介

Logback是log4j的升级版本,Springboot默认的日志框架

由三个模块组成

  • logback-core
  • logback-classic
  • logback-access

logback-core是其它模块的基础设施,其它模块基于它构建,显然,logback-core提供了一些关键的通用机制。logback-classic的地位和作用等同于 Log4J,它也被认为是 Log4J的一个改进版,并且它实现了简单日志门面 SLF4J;而 logback-access主要作为一个与 Servlet容器交互的模块,比如说tomcat或者 jetty,提供一些与 HTTP访问相关的功能。

  • **slf4j:**The Simple Logging Facade for Java 即java的简单日志门面
    简答的讲就是slf4j是一系列的日志接口,slf4j是作为一个日志的抽象行为存在的,但是并没有提供真正的实现。

slf4j为各种日志框架提供了一个统一的界面,使用户可以用统一的接口记录日志,动态地决定要使用的实现框架,比如Logback,Log4j,common-logging等框架都实现了这些接口。

使用Logback,其实只需增加一个配置文件(自定义你的配置)即可。

2.使用

resource目录下新建lockback-spring.xml文件,一定要放到resource目录下,不要单独创建文件夹

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">

    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="D:springlearn" />

    <!--控制台日志, 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

    <!--文件日志, 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log</FileNamePattern>
            <!--日志文件保留天数-->
            <MaxHistory>30</MaxHistory>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>10MB</MaxFileSize>
        </triggeringPolicy>
    </appender>

    <!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
    <logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
    <logger name="org.hibernate.SQL" level="DEBUG" />
    <logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
    <logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" />

    <!--myibatis log configure-->
    <logger name="com.apache.ibatis" level="TRACE"/>
    <logger name="java.sql.Connection" level="DEBUG"/>
    <logger name="java.sql.Statement" level="DEBUG"/>
    <logger name="java.sql.PreparedStatement" level="DEBUG"/>

    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="FILE"/>
    </root>
</configuration>

配置文件properties中设置


###指定读取logback配置文件
logging.cofig=classpath:/logback-spring.xml
#设定日志级别
logging.level.root=info

使用类加@slf4j注解

要编写代码处使用 log.info()等方法即可

package com.demo.springlearn.controller;

import com.demo.springlearn.entity.Student;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@EnableAutoConfiguration
@RestController
@Slf4j
public class HelloWordController {
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("访问hello方法");
        return "Hello Springboot";
    }
    @Value("${student.name}")
    String name;
    @RequestMapping("getValue")
    public String getValue(){
        log.info("开始了111111111111");
        return name;

    }
    @Autowired
    Student student;
    @RequestMapping("getStudent")
    public Student getStudent(){
        
        return student;

    }
    public static void main(String[] args) {
        SpringApplication.run(HelloWordController.class,args);
    }
}
 

最后

以上就是受伤信封为你收集整理的Springboot学习4--logback日志的全部内容,希望文章能够帮你解决Springboot学习4--logback日志所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部