Spring Boot开发 之 日志部署

开始

spring init -dweb --build gradle SpringBootDeploy && cd SpringBootDeploy
vim src/main/java/com/example/SpringBootDeploy/APIController.java
package com.example.SpringBootDeploy;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class APIController {

    private final static Logger log = LoggerFactory.getLogger(APIController.class);

    @GetMapping("/api")
    public String api() {
        log.debug("debug");
        log.info("info");
        log.warn("warn");
        return "api";
    }
}
  • 测试
./gradlew bootrun
curl localhost:8080/api
# "api"
# "info"
# "warn"

配置

./gradlew build

/usr/bin/java -jar /Users/kevin/Desktop/java/SpringBootDeploy/build/libs/SpringBootDeploy-0.0.1-SNAPSHOT.jar --spring.config.location=/Users/kevin/Desktop/java/SpringBootDeploy/build/libs/application.properties
  • 测试
curl localhost:9000/api
# "api"
# "info"
# "warn"

日志

vim build/libs/logback.xml
<configuration>
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <property name="LOG_HOME" value="/Users/kevin/"/>
    <property name="APP_NAME" value="fuel_management"/>
    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- 按照每天生成日志文件 -->
    <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/${APP_NAME}.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <maxFileSize>10MB</maxFileSize>
            <!-- keep 30 days' worth of history capped at 3GB total size -->
            <maxHistory>30</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>

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

    </appender>

    <!-- 日志输出级别 -->
    <root level="warn">
        <appender-ref ref="ROLLING"/>
    </root>
</configuration>
echo "logging.config=/Users/kevin/Desktop/java/SpringBootDeploy/build/libs/logback.xml" >> build/libs/application.properties

/usr/bin/java -jar /Users/kevin/Desktop/java/SpringBootDeploy/build/libs/SpringBootDeploy-0.0.1-SNAPSHOT.jar --spring.config.location=/Users/kevin/Desktop/java/SpringBootDeploy/build/libs/application.properties
  • 测试
curl localhost:9000/api
# "api"
cat /Users/kevin/fuel_management.2019-01-21.0.log

2019-01-21 13:43:13.818 [http-nio-9000-exec-1] WARN  com.example.SpringBootDeploy.APIController - warn

猜你喜欢

转载自blog.csdn.net/weixin_34221332/article/details/86961350
今日推荐