SpringBoot入门第二章:日志输出

时间:2021-02-03 16:08:22

承上。

1、在目录 src/main/resources新增日志配置文件 logback.xml

SpringBoot入门第二章:日志输出

可根据实际需求,进行配置修改,代码参考如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--控制台日志输出配置-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <!--对输出日志进行格式化-->
        <encoder>
            <!-- %d日期,%p日志级别,%file文件名,%line所在行数,%m输出的信息,%n换行 -->
            <pattern>%d %p (%file:%line\)- %m%n</pattern>
            <!--字符编码-->
            <charset>UTF-8</charset><!--此处设置字符集-->
        </encoder>
    </appender>
    <!--指定日志输出等级-->
    <root level="info">
        <appender-ref ref="STDOUT" />
    </root>

    <!--上述配置表名将 >=info级别的日志都输出到控制台-->

    <!--日志文件配置-->
    <appender name="mylog"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!--被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值。-->
        <File>F:\log\mylog</File>
        <!--滚动记录文件:根据时间来制定滚动策略-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>F:\log\base.log.%d.%i</fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy  class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>64 MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <encoder>
            <pattern>
                %d %p (%file:%line\)- %m%n
            </pattern>
            <charset>UTF-8</charset> <!-- 此处设置字符集 -->
        </encoder>
    </appender>
    <logger name="com.example" level="DEBUG">
        <appender-ref ref="mylog" />
    </logger>
</configuration>

关于具体的日志配置说明,可参考:http://www.cnblogs.com/warking/p/5710303.html

 

2、修改Example.java文件。代码如下:

package com.example.demo;

/**
 * Created by trs on 2017/5/25.
 */
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@EnableAutoConfiguration
public class Example {
    protected static Logger logger=LoggerFactory.getLogger(Example.class);
    @RequestMapping("/")
    String home() {
        logger.debug("访问hello");
        return "Hello World!";
    }

    @RequestMapping("/hello/{myName}")
    String index(@PathVariable String myName) {
        logger.debug("访问myname");
        return "Hello "+myName+"!!!";
    }
}

 

3、测试,输入:http://localhost:8080 和 http://localhost:8080/hello/王大陆

控制台输出页面:

SpringBoot入门第二章:日志输出

日志文件:

SpringBoot入门第二章:日志输出

滚动日志文件示例:

SpringBoot入门第二章:日志输出

参考博文1:http://blog.csdn.net/lxhjh/article/details/51752419

参考博文2:http://www.cnblogs.com/warking/p/5710303.html

然后我主要是学习博文2,各位直接看博文2也是可以的。写这个的主要目的一个是便于记忆,还有一个就是和大家交流。