springboot(一)——搭建自己的springboot项目(附带日志配置)

8次阅读

共计 2827 个字符,预计需要花费 8 分钟才能阅读完成。

idea 使用 spring Initalizr 快速构建 spring boot

  1. 点击新建项目, 选择如图所示

  1. 点击 next 后

  1. 点击 next,之后按照图中所示选择

  1. 选择路径

  1. 点击完成,如图所示,删除自己不想要的,项目构建完成

  1. 构建一个 controller,启动项目就可以看到返回结果了

在自己的服务器搭建自己的 springboot 项目

使用 idea 向远程服务传递项目

  1. 设置 idea

  1. 配置相关信息

  1. 上传到指定机器

配置启动脚本,基于 java -jar 命令

  • start.sh
#!/bin/bash
nohup java -jar target/zplxjj.jar  &
  • stop.sh
#!/bin/bash
PID=$(ps -ef | grep target/zplxjj.jar | grep -v grep | awk '{ print $2}')
if [-z "$PID"]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi
~
  • run.sh
#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh

启动自己的项目只需要执行 run.sh 就行,一个自己的 spring boot 就搭建起来了

logback 配置

实际项目中,我们希望日志可以记录在服务器上面,这边用的是 logback,是 springboot 自带的,我这边集成方式是加入 logback-spring.xml 文件,加入后启动项目即可,文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 用来定义变量值的标签 -->
    <property name="LOG_HOME" value="./logs"/>
    <property name="encoding" value="UTF-8"/>
    <!-- 格式化输出:%d 表示日期,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度;%M:%L 是方法和行号;%msg 是日志消息;%n 是换行符 -->
    <property name="normal-pattern"
              value="%d{yyyy-MM-dd/HH:mm:ss.SSS}|%X{localIp}|%X{requestId}|%X{requestSeq}|%X{country}|%X{deviceType}|%X{deviceId}|%X{userId}|^_^|[%t] %-5level %logger{50} %line - %m%n"/>
    <property name="plain-pattern" value="%d{yyyy-MM-dd.HH:mm:ss} %msg%n"/>

    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 日志文件输出的文件名 -->
        <file>${LOG_HOME}/zplxjj.log</file>
        <Append>true</Append>
        <prudent>false</prudent>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${normal-pattern}</pattern>
            <charset>${encoding}</charset>
        </encoder>
        <!-- 按时间分割 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/zplxjj.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
            <maxFileSize>128MB</maxFileSize>
            <maxHistory>15</maxHistory>
            <totalSizeCap>32GB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <!-- 控制台输出 -->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!-- 格式化输出:%d 表示日期,%thread 表示线程名,%-5level:级别从左显示 5 个字符宽度 %msg:日志消息,%n 是换行符 -->
            <pattern>${normal-pattern}</pattern>
        </encoder>
    </appender>

    <!-- log file error -->
    <appender name="ERROR"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <file>${LOG_HOME}/zplxjj-error.log</file>
        <prudent>false</prudent>
        <Append>true</Append>
        <encoder>
            <pattern>${normal-pattern}</pattern>
            <charset>${encoding}</charset>
        </encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/zplxjj-error.log.%d{yyyy-MM-dd}.%i</fileNamePattern>
            <maxFileSize>128MB</maxFileSize>
            <maxHistory>15</maxHistory>
            <totalSizeCap>32GB</totalSizeCap>
        </rollingPolicy>
    </appender>

    <root level="INFO">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE"/>
        <appender-ref ref="ERROR"/>
    </root>
</configuration>

效果如图:

本人也开通了微信公众号:stonezplxjj,更多文章欢迎关注公众号:

正文完
 0