美文网首页
Spring Boot开发 之 日志部署

Spring Boot开发 之 日志部署

作者: 诺之林 | 来源:发表于2019-01-21 14:02 被阅读9次

    开始

    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
    

    相关文章

      网友评论

          本文标题:Spring Boot开发 之 日志部署

          本文链接:https://www.haomeiwen.com/subject/arkcjqtx.html