zoukankan      html  css  js  c++  java
  • Logback简单使用

    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包

  • 相关阅读:
    Java调用getResource方法获取文件路径乱码
    Java时间格式转换
    java——枚举类型通过反射获取属性值并合成Map进行对比取值
    JXLS问题
    elementUI——select 根据传入的ID值选中选项
    强、软、弱、虚四种引用的区别
    frp + ssl证书 + 宝塔面板 实现 https 访问内网可道云
    ReentrantLock 公平锁和非公平锁的区别
    Stream流式计算
    四大函数式接口
  • 原文地址:https://www.cnblogs.com/zhiboluo/p/10119177.html
Copyright © 2011-2022 走看看