关于Java后端的日志打印解析

 

一.后端的正常日志打印

日志输出太长了,这里就只展示部分哈~~

 

 

二.完整日志xml 文件

logback-spring.xml

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

<configuration>
    <!--定义日志文件的存储地址,使用绝对路径-->
    <property name="LOG_HOME" value="e:/logs"/>

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

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <fileNamePattern>${LOG_HOME}/xc.%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 异步输出 -->
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 -->
        <discardingThreshold>0</discardingThreshold>
        <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 -->
        <queueSize>512</queueSize>
        <!-- 添加附加的appender,最多只能添加一个 -->
        <appender-ref ref="FILE"/>
    </appender>


    <logger name="org.apache.ibatis.cache.decorators.LoggingCache" level="DEBUG" additivity="false">
        <appender-ref ref="CONSOLE"/>
    </logger>
    <logger name="org.springframework.boot" level="DEBUG"/>
    <root level="info">
        <!--<appender-ref ref="ASYNC"/>-->
        <appender-ref ref="FILE"/>
        <appender-ref ref="CONSOLE"/>
    </root>
</configuration>

注意:

其中有个日志文件需要自己在本地创建

 

三.解析:

logback-spring.xml 为spring提供专有日志配置文件

  • <root level=""> 用于配置全局==日志级别==

  • <appender-ref ref=""> 用于配置输出位置

    • <appender-ref ref="file"> 将日志输出到指定的文件

    • <appender-ref ref="console">将日志输出到控制台

  • <logger name="包" level="日志级别"> 为单独的包指定单独的日志级别

 

 

 

 

四.日志级别

  • debug:调试,对应的方法 debug()

  • info:信息(正常运行),对应的方法 info()

  • warn:警告,对应的方法warn()

  • error:错误,对应的方法error()

 

 

开发中日志如何使用?

测试类:

public class TestLog {

    //获得日志对象
    private static final Logger LOGGER= LoggerFactory.getLogger(TestLog.class);

    public void test(){
        //查询
        String username = null;
    //   2.根据情况时有不同的方法进行输出
        LOGGER.debug("在debug级别下,你看到的提示信息");
        LOGGER.info("在info级别下,你看到的提示信息");
        LOGGER.warn("在warn级别下,你看到的提示信息");
        LOGGER.error("在error级别下,你看到的提示信息");
    }
}

 

 

日志级别执行顺序

顺序:debug --> info --> warn --> error

debug级别: 将执行 debug()、info()、warn()、error()
info级别:    将执行 info()、warn()、error()
warn级别:  将执行 warn()、error()

 

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

注: 如果本篇有需要改进的地方或错误,欢迎大神们指定一二~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值