Logback简单使用

2018-12-14 08:36:55来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

  1. 1.     添加jar/maven配置

 

<dependency>

           <groupId>ch.qos.logback</groupId>

           <artifactId>logback-classic</artifactId>

           <version>1.2.3</version>

           <scope>test</scope>

       </dependency>

 

  1. 2.     配置文件:logback.xml

配置效果为,当天的日志存在log.today文件中,历史日志文件存在根目录下log文件夹中。

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

<configuration xmlns="http://ch.qos.logback/xml/ns/logback"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd">

   

    <property name="LOG_HOME" value="log"/>

   

    <!-- 输出到控制台 -->

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">

       <!-- 输出格式 -->

       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

           <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">

       <!-- 配置滚动的策略  基于时间

            SizeAndTimeBasedRollingPolicy 基于大小和时间

       -->

       <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">

           <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:  %msg%n</pattern>

       </encoder>

       <file>log.today</file>

       <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

           <!-- 日志名称的格式 -->

           <fileNamePattern>logs/logback.log.%d{yyyy-MM-dd}</fileNamePattern>

           <!-- 表示只保留最近30天的日志,保存的最长时间:天数 -->

           <maxHistory>30</maxHistory>

           <!-- 用来指定日志文件的上限大小,例如设置为1GB的话,那么到了这个值,就会删除旧的日志。 -->

           <totalSizeCap>200MB</totalSizeCap>

       </rollingPolicy>

    </appender>

    <!--

       %d{HH: mm:ss.SSS}——日志输出时间

       %thread——输出日志的进程名字,这在Web应用以及异步任务处理中很有用

       %-5level——日志级别,并且使用5个字符靠左对齐

       %logger{36}——日志输出者的名字

       %msg——日志消息

       %n——平台的换行符

     -->

   

    <!-- 用来设置某一个包或者具体的某一个类的日志打印级别、以及指定<appender>。<loger>仅有一个name属性,

    一个可选的level和一个可选的addtivity属性。

    addtivity:是否向上级loger传递打印信息。默认是true。 -->

    <!-- <logger name="springboot01.StudentThController" additivity="false" level="INFO">

       <appender-ref ref="STDOUT"/>

    </logger>  -->

   

    <!-- 相当于logger元素,只是name值已经确定为root了 -->

    <!-- 选择输出日志打印级别 TRACE < DEBUG < INFO < WARN < ERROR

    允许打印具有比这个日志级别更高级别的信息,而不允许打印具有比这个日志级别更低级别的信息 -->

    <root level="INFO">

       <!-- 选择输出到哪里,控制台或者文件中还是一起输出 -->

       <appender-ref ref="STDOUT" />

       <appender-ref ref="FILE" />

    </root>

   

</configuration>

 

 

  1. 3.     测试代码

 

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

public class LogbackTest01 {

    private static final Logger LOGGER = LoggerFactory.getLogger(LogbackTest01.class);

 

    public static void main(String[] args) {

        LOGGER.trace("logback的--trace日志--输出了");

        LOGGER.debug("logback的--debug日志--输出了");

        LOGGER.info("logback的--info日志--输出了");

        LOGGER.warn("logback的--warn日志--输出了");

        LOGGER.error("logback的--error日志--输出了");

    }

}

 

  1. 4.     效果展示

 

 

  1. 5.     Spring Boot中添加Logback.xml

只要去掉maven中配置就行,Spring Boot中的starter包含了jar包

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:java工厂模式

下一篇:SpringCloud+Hystrix服务容错