springboot2.0.3配置日志

2019-10-12 08:26:48来源:博客园 阅读 ()

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

springboot2.0.3配置日志

原因:SpringBoot默认使用slf4j日志,引入其他框架的时候,只需要把这个框架依赖的日志框架排除掉;

而我今天想引入log4j的时候,pom文件一直报错,显示找不到log4j的jar包,应当是2.0.3的springboot版本的原因;

在此就没再继续引入,而是采用了SpringBoot使用的slf4j的日志,有机会的话再测一下log4j和slf4j两种日志的效率对比。

一、application.yml中配置日志打印级别,默认是info(也可选择不同目录):

#slf4j日志配置
logging:
  # 配置级别
  level:
    #分包配置级别,即不同的目录下可以使用不同的级别
    com.sblueice.controller: debug

二、logback.xml中所有配置:

  配置打印文件的路径(一天一个,保存30天):

    <!-- 开发、测试环境 -->
    <springProfile name="dev,test">
        <!-- 定义日志存储的路径,不要配置相对路径 -->
        <property name="FILE_PATH" value="E:/temp0918/SpringBoot-log/cccf.%d{yyyy-MM-dd}.%i.log" />
    </springProfile>

 配置打印sql日志:
 <logger name="com.sblueice.mapper.UserMapper" level="DEBUG" />
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
 
    <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
    <property name="LOG_PATTERN"
              value="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n" />
 
    <!-- 开发、测试环境 -->
    <springProfile name="dev,test">
        <!-- 定义日志存储的路径,不要配置相对路径 -->
        <property name="FILE_PATH" value="E:/temp0918/SpringBoot-log/cccf.%d{yyyy-MM-dd}.%i.log" />
    </springProfile>
    
    <!-- 生產環境 -->
    <springProfile name="pro">
        <!-- 定义日志存储的路径,不要配置相对路径 -->
        <property name="FILE_PATH" value="/user/lib/cccf/logs/cccf.%d{yyyy-MM-dd}.%i.log" />
    </springProfile>
 
    <!-- 控制台输出日志 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!-- 按照上面配置的LOG_PATTERN来打印日志 -->
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
 
    <!--每天生成一个日志文件,保存30天的日志文件。rollingFile是用来切分文件的 -->
    <appender name="rollingFile"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>
                ${FILE_PATH}
            </fileNamePattern>
            <!-- keep 30 days' worth of history -->
            <maxHistory>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- 日志文件的最大大小 -->
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
 
        <encoder>
            <pattern>${LOG_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- project default level -->
    <logger name="com.hiynn.cccf" level="INFO" />
 
    <!-- 日志输出级别 -->
    <root level="INFO">
        <appender-ref ref="console" />
        <appender-ref ref="rollingFile" />
    </root>

    <!--myibatis log configure-->
    <logger name="com.sblueice.mapper.UserMapper" level="DEBUG" />
</configuration>

三、controller层输出打印日志(Java怎么没有着色。。。。)

package com.sblueice.controller;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.sblueice.services.UserService;

/**
 * 
 * @author shaoz
 * @Date: 2019/10/09
 * 
 */

@Controller
public class UserController {
    
    
    Logger logger = LoggerFactory.getLogger(getClass());
    
    /**
     * 
    * @Title: testLog
    * @Description: TODO(测试springboot自带的日志打印)
    * @param: @return
    * @return: String
    * @throws
     */
    @RequestMapping("/testLog")
    @ResponseBody
    public String testLog() {
        
            // 级别由低到高 trace<debug<info<warn<error
            logger.trace("这是一个trace日志...");
            logger.debug("这是一个debug日志...");
            // SpringBoot默认是info级别,只会输出info及以上级别的日志
            logger.info("这是一个info日志...");
            logger.warn("这是一个warn日志...");
            logger.error("这是一个error日志...");
            String str = "https://www.cnblogs.com/steveshao/";
            logger.info("======欢迎访问无脚鸟的博客:{}\n", str);
         
            return null;
    }

}
    

以上就是今天SpringBoot打印日志的过程,也借鉴了好多人的东西,目前找不到借鉴的链接了,如果有同学觉得我摘抄了您的原文,请联系我给您添加上原文链接哈。

 


原文链接:https://www.cnblogs.com/steveshao/p/11649537.html
如有疑问请与原作者联系

标签:

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

上一篇:基于SpringBoot+WebSocket搭建一个简单的多人聊天系统

下一篇:使用idea关联mysql时报错Server returns invalid timezone. Go t