logbak-spring配置模板

/ Java / 没有评论 / 75浏览

logbak-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration  scan="true" scanPeriod="60 seconds" debug="false">
    <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
    <springProperty name="LOG_HOME" source="log.path" />
    <springProperty name="LOG_LEVEL" source="log.level" />
    <springProperty name="LOG_NAME" source="log.name" />
    <springProperty name="LOG_MAX_FILE_SIZE" source="log.max.file.size" />
    <springProperty name="LOG_MAX_HISTORY" source="log.max.history" />
    <springProperty name="LOG_TOTAL_SIZE_CAP" source="log.total.size.cap" />

    <!-- 控制台输出 -->
    <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🇲🇲ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>
    <!-- 按照每天生成日志文件 -->
    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${LOG_HOME}/${LOG_NAME}.log.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
            <!--单个日志文件大小-->
            <maxFileSize>${LOG_MAX_FILE_SIZE}</maxFileSize>
            <!--日志文件保留天数-->
            <MaxHistory>${LOG_MAX_HISTORY}</MaxHistory>
            <!--日志文件最大占用空间-->
            <totalSizeCap>${LOG_TOTAL_SIZE_CAP}</totalSizeCap>
        </rollingPolicy>
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
            <pattern>%d{yyyy-MM-dd HH🇲🇲ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
        </encoder>
    </appender>

    <springProfile name="config">
        <root level="${LOG_LEVEL}">
            <appender-ref ref="FILE" />
        </root>
    </springProfile>
    <springProfile name="engine">
        <root level="${LOG_LEVEL}">
            <appender-ref ref="FILE" />
        </root>
    </springProfile>
    <springProfile name="local">
        <root level="${LOG_LEVEL}">
            <appender-ref ref="FILE" />
            <appender-ref ref="STDOUT" />
        </root>
    </springProfile>
</configuration>

spring配置文件



log.path=/home/log/
log.level=warn
log.name=projectname
log.max.file.size=50MB
log.max.history=3
log.total.size.cap=20GB