ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

可信通话项目总结(一)项目脚本启动、关闭、日志目录

2020-12-16 10:32:21  阅读:147  来源: 互联网

标签:zip 项目 -- dd yyyy 通话 path 日志 logback


服务器目录

在这里插入图片描述
给文件夹权限。

sudo chmod 777 -R *
  • config:
    配置文件 信息:包括yml配置文件、logback日志配置文件。
    在这里插入图片描述

  • logs:
    保存的日志文件的位置

在这里插入图片描述

  • pids:
    保存的端口号信息。
    在这里插入图片描述

启动脚本

在这里插入图片描述

#!/bin/env bash

nohup java -Xms512m -Xmx1024m -Dfile.encoding=UTF-8 -jar as-video-business-0.0.1.jar --server.port=8081 --spring.profiles.active=test > /dev/null 2>&1 & echo $! > ./pids/run.pid
  • 指定jar包
  • 指定内存
  • 指定配置文件(打包时的指定的环境无关)
  • 指定端口号
  • 使用nohup后台运行并获取pid(& echo $! > ./pids/run.pid)
  • nohup日志输出黑洞

/dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”
2>/dev/null意思就是把错误输出到“黑洞” ;
/dev/null 2>&1默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞” ;

停止脚本

在这里插入图片描述

#!/bin/env bash

kill -9 `cat ./pids/run.pid`

日志文件

在这里插入图片描述
在这里插入图片描述

logback:
  path: ./logs
  zip.path: ./logs/zip
  maxFileSize: 1GB
  maxHistory: 3
  totalSizeCap: 5GB
  level: INFO

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xml>
<configuration scan="true" scanPeriod="30 seconds">
    <include
            resource="org/springframework/boot/logging/logback/defaults.xml" />
    <springProperty scope="context" name="springAppName"
                    source="spring.application.name" />
    <springProperty scope="context" name="logback.path"
                    source="logback.path" />
    <springProperty scope="context" name="logback.zip.path"
                    source="logback.zip.path" />
    <springProperty scope="context"
                    name="logback.maxFileSize" source="logback.maxFileSize" />
    <springProperty scope="context"
                    name="logback.totalSizeCap" source="logback.totalSizeCap" />
    <springProperty scope="context"
                    name="logback.maxHistory" source="logback.maxHistory" />
    <springProperty scope="context" name="logback.level"
                    source="logback.level" />

    <!-- 彩色日志 -->
    <!-- 彩色日志依赖的渲染类 -->
    <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
    <conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
    <conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />

    <property name="CONSOLE_LOG_PATTERN"
              value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}" />
    <!-- 控制台日志配置 -->
    <appender name="CONSOLE"
              class="ch.qos.logback.core.ConsoleAppender">
        <!-- 	<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
                <level>debug</level>
            </filter> -->
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- <encoder> 格式化 <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} -
            %m%n</pattern> </encoder> -->
    </appender>

    <!-- 所有日志控制 -->
    <appender name="FILE_CONSOLE"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>${logback.path}/console.log</file>
        <!-- 是否追加 默认为true -->
        <append>true</append>
        <!-- 滚动策略 日期+大小 策略 -->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/console/console-%i.zip</fileNamePattern>
            <!-- 单个日志大小 -->
            <maxFileSize>${logback.maxFileSize}</maxFileSize>
            <!-- 日志保存周期 -->
            <maxHistory>${logback.maxHistory}</maxHistory>
            <!-- 总大小 -->
            <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 格式化 -->
        <!-- <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder> -->
    </appender>

    <!-- info级别日志控制 -->
    <appender name="FILE_INFO"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>${logback.path}/info.log</file>
        <!-- 是否追加 默认为true -->
        <append>true</append>
        <!-- 滚动策略 日期+大小 策略 -->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/info/info-%i.zip</fileNamePattern>
            <!-- 单个日志大小 -->
            <maxFileSize>${logback.maxFileSize}</maxFileSize>
            <!-- 日志保存周期 -->
            <maxHistory>${logback.maxHistory}</maxHistory>
            <!-- 总大小 -->
            <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 格式化 -->
        <!-- <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder> -->
        <!-- 级别过滤 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>INFO</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- warn级别日志控制 -->
    <appender name="FILE_WARN"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>${logback.path}/warn.log</file>
        <!-- 是否追加 默认为true -->
        <append>true</append>
        <!-- 滚动策略 日期+大小 策略 -->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/warn/warn-%i.zip</fileNamePattern>
            <!-- 单个日志大小 -->
            <maxFileSize>${logback.maxFileSize}</maxFileSize>
            <!-- 日志保存周期 -->
            <maxHistory>${logback.maxHistory}</maxHistory>
            <!-- 总大小 -->
            <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 格式化 -->
        <!-- <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder> -->
        <!-- 级别过滤 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>WARN</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- ERROR级别日志控制 -->
    <appender name="FILE_ERROR"
              class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 文件路径 -->
        <file>${logback.path}/error.log</file>
        <!-- 是否追加 默认为true -->
        <append>true</append>
        <!-- 滚动策略 日期+大小 策略 -->
        <rollingPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/error/error-%i.zip</fileNamePattern>
            <!-- 单个日志大小 -->
            <maxFileSize>${logback.maxFileSize}</maxFileSize>
            <!-- 日志保存周期 -->
            <maxHistory>${logback.maxHistory}</maxHistory>
            <!-- 总大小 -->
            <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>
        </rollingPolicy>
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>UTF-8</charset>
        </encoder>
        <!-- 格式化 -->
        <!-- <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%p] [%t] %c{36} - %m%n</pattern>
            </encoder> -->
        <!-- 级别过滤 -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <onMatch>ACCEPT</onMatch>
            <onMismatch>DENY</onMismatch>
        </filter>
    </appender>

    <!-- Appender to log to file in a JSON format -->
<!--    <appender name="FILE_LOGSTASH"-->
<!--              class="ch.qos.logback.core.rolling.RollingFileAppender">-->
<!--        <file>${logback.path}/json.log</file>-->
<!--        <rollingPolicy-->
<!--                class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">-->
<!--            <fileNamePattern>${logback.zip.path}/%d{yyyy-MM-dd}/json/json-%i.zip</fileNamePattern>-->
<!--            &lt;!&ndash; 单个日志大小 &ndash;&gt;-->
<!--            <maxFileSize>${logback.maxFileSize}</maxFileSize>-->
<!--            &lt;!&ndash; 日志保存周期 &ndash;&gt;-->
<!--            <maxHistory>${logback.maxHistory}</maxHistory>-->
<!--            &lt;!&ndash; 总大小 &ndash;&gt;-->
<!--            <totalSizeCap>${logback.totalSizeCap}</totalSizeCap>-->
<!--        </rollingPolicy>-->
<!--        <encoder-->
<!--                class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">-->
<!--            <providers>-->
<!--                <timestamp>-->
<!--                    <timeZone>UTC</timeZone>-->
<!--                </timestamp>-->
<!--                <pattern>-->
<!--                    <pattern>-->
<!--                        {-->
<!--                        "severity": "%level",-->
<!--                        "service": "${springAppName:-}",-->
<!--                        "trace": "%X{X-B3-TraceId:-}",-->
<!--                        "span": "%X{X-B3-SpanId:-}",-->
<!--                        "parent": "%X{X-B3-ParentSpanId:-}",-->
<!--                        "exportable":-->
<!--                        "%X{X-Span-Export:-}",-->
<!--                        "pid": "${PID:-}",-->
<!--                        "thread": "%thread",-->
<!--                        "class": "%logger{40}",-->
<!--                        "rest": "%message"-->
<!--                        }-->
<!--                    </pattern>-->
<!--                </pattern>-->
<!--            </providers>-->
<!--        </encoder>-->
<!--    </appender>-->

    <root level="${logback.level}">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE_CONSOLE" />
        <appender-ref ref="FILE_INFO" />
        <appender-ref ref="FILE_WARN" />
        <appender-ref ref="FILE_ERROR" />
<!--        <appender-ref ref="FILE_LOGSTASH" />-->
    </root>

    <!--日志异步到数据库 -->
    <!--<appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> -->
    <!--&lt;!&ndash;日志异步到数据库 &ndash;&gt; -->
    <!--<connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource"> -->
    <!--&lt;!&ndash;连接池 &ndash;&gt; -->
    <!--<dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"> -->
    <!--<driverClass>com.mysql.jdbc.Driver</driverClass> -->
    <!--<url>jdbc:mysql://127.0.0.1:3306/databaseName</url> -->
    <!--<user>root</user> -->
    <!--<password>root</password> -->
    <!--</dataSource> -->
    <!--</connectionSource> -->
    <!--</appender> -->
</configuration>

标签:zip,项目,--,dd,yyyy,通话,path,日志,logback
来源: https://blog.csdn.net/DreamsArchitects/article/details/111245618

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有