springboot日志根据大小和时间分割

2 篇文章 0 订阅
1 篇文章 0 订阅

1.首先编写log的配置文件: 

先加入logback-spring.xml文件(注:文件名需指定logback-spring.xml。用于springboot识别)

<springProperty scope="context" name="logPath" source="logback.logPath"/>
 <property name="LOG_HOME" value="${logPath}"/>

这里主要是用于代码启动文件动态指定log的目录

<?xml version="1.0" encoding="utf-8"?><configuration>

    <springProperty scope="context" name="logPath" source="logback.logPath"/>

    <!-- 定义文件输出格式, 编码方式, 输出文件的路径 -->

    <property name="pattern"

              value="[%date{yyyy-MM-dd HH:mm:ss.SSS}] %X{logthreadId} %-5level %logger{80} %method %line - %msg%n"/>

    <property name="charsetEncoding" value="UTF-8"/>

<!--    <property name="logPathError" value="/opt/modbusslave/logs/error"/>-->

<!--    <property name="logPathWarning" value="/opt/modbusslave/logs/warning"/>-->

<!--    <property name="logPathInfo" value="/opt/modbusslave/logs/info"/>-->
<!--    <property name="logPathInfo" value="/opt/modbusslave/logs"/>-->
    <property name="LOG_HOME" value="${logPath}"/>


    <!-- CONSOLG 控制台日志-->

    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">

        <encoder>

            <pattern>${pattern}</pattern>

            <charset>${charsetEncoding}</charset>

        </encoder>

    </appender>



    <!-- INFO 输出到文件 -->

    <appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <append>true</append>

        <encoder>

            <pattern>${pattern}</pattern>

            <charset>${charsetEncoding}</charset>

        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

            <fileNamePattern>

                ${LOG_HOME}${file.separator}%d{yyyy-MM-dd}${file.separator}service-INFO-%d{yyyy-MM-dd}.%i.log

            </fileNamePattern>

            <maxHistory>30</maxHistory>

            <maxFileSize>20MB</maxFileSize>

        </rollingPolicy>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

            <!-- 设置日志输出级别 -->

            <level>INFO</level>

        </filter>

    </appender>



    <!-- WARN 输出到文件 -->

    <appender name="warnLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <append>true</append>

        <encoder>

            <pattern>${pattern}</pattern>

            <charset>${charsetEncoding}</charset>

        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

            <fileNamePattern>

                ${logPathWarning}${file.separator}%d{yyyy-MM-dd}${file.separator}service-WARN-%d{yyyy-MM-dd}.%i.log

            </fileNamePattern>

            <maxHistory>30</maxHistory>

            <maxFileSize>10MB</maxFileSize>

        </rollingPolicy>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

            <!-- 设置日志输出级别 -->

            <level>WARN</level>

        </filter>

    </appender>



    <!-- ERROR 输出到文件 -->

    <appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <append>true</append>

        <encoder>

            <pattern>${pattern}</pattern>

            <charset>${charsetEncoding}</charset>

        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">

            <fileNamePattern>

                ${logPathError}${file.separator}%d{yyyy-MM-dd}${file.separator}service-ERROR-%d{yyyy-MM-dd}.%i.log

            </fileNamePattern>

            <maxHistory>30</maxHistory>

            <maxFileSize>10MB</maxFileSize>

        </rollingPolicy>

        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">

            <!-- 设置日志输出级别 -->

            <level>ERROR</level>

        </filter>

    </appender>



    <!--配置日志输出的级别-->

    <root level="INFO">

        <appender-ref ref="console"/>

        <appender-ref ref="infoLog"/>

        <appender-ref ref="warnLog"/>

        <appender-ref ref="errorLog"/>

    </root></configuration>
aplication.yml里面配置使xml配置生效:
logging:
  config: classpath:logback-spring.xml
logback:
  logPath: /opt/project/log/

启动sh脚本:

nohup $JRE_HOME/bin/java  --logback.logPath=/opt/project/logs/   &

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值