Spring通用配置文件模板(logback、pom等配置文件)

本文主要存放通用的配置文件模板,大部分项目可拿来即用(或者简单修改)。

Spring Boot的日志配置文件

Spring Boot默认使用self4j + logback日志工具。将logback-spring.xml放置到resources文件夹下,内容如下

<!-- 日志配置文件加载顺序: logback.xml → application.properties(yml) → logback-spring.xml -->
<!-- 官方推荐使用logback-spring.xml,因此它晚于application.properties(yml)加载,可以获得application.properties(yml)定义的变量 -->
<configuration scan="true" scanPeriod="60 seconds" debug="false">
    <!-- 全局属性变量 -->
    <springProperty scope="context" name="ROOT_DIR" source="logback.rootDir" defaultValue="logs"/>
    <springProperty scope="context" name="APP_NAME" source="spring.application.name"/>
    <!-- 保留日志的天数 -->
    <property name="RETAINED_FILE_DAYS" value="90"/>
    <!-- 同类日志占用的总空间大小(多天总和),超过将被删除 -->
    <property name="TOTAL_SIZE_CAP" value="20GB"/>

    <!-- 为后面引用打下基础,先按类别定义日志appender:控制台 -->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <!--<pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50logger{49} : %m%n</pattern> -->
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50(%class{43}:%line) : %m%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 为后面引用打下基础,先按类别定义日志appender:应用的日志文件 -->
    <appender name="LOGFILE_APP" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${ROOT_DIR}/${APP_NAME}.log.%d{yyyyMMdd}</FileNamePattern>
            <MaxHistory>${RETAINED_FILE_DAYS}</MaxHistory>
            <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50(%class{43}:%line) : %m%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 为后面引用打下基础,先按类别定义日志appender:仅存放错误的日志文件 -->
    <appender name="LOGFILE_ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- ThresholdFilter是临界值过滤,会把错误级别和更严重级别都输出-->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>Error</level>
        </filter>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${ROOT_DIR}/${APP_NAME}.err.%d{yyyyMMdd}</FileNamePattern>
            <MaxHistory>${RETAINED_FILE_DAYS}</MaxHistory>
            <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50(%class{43}:%line) : %m%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 为后面引用打下基础,先按类别定义日志appender:访问数据库的文件日志 -->
    <appender name="LOGFILE_MYBATIS" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${ROOT_DIR}/${APP_NAME}.mybatis.log.%d{yyyyMMdd}</FileNamePattern>
            <MaxHistory>${RETAINED_FILE_DAYS}</MaxHistory>
            <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50(%class{43}:%line) : %m%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 为后面引用打下基础,先按类别定义日志appender:访问数据库的文件日志 -->
    <appender name="LOGFILE_HIBERNATE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <FileNamePattern>${ROOT_DIR}/${APP_NAME}.hibernate.log.%d{yyyyMMdd}</FileNamePattern>
            <MaxHistory>${RETAINED_FILE_DAYS}</MaxHistory>
            <totalSizeCap>${TOTAL_SIZE_CAP}</totalSizeCap>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <pattern>%d{yyyyMMdd HH:mm:ss.SSS,Asia/Shanghai} %-5level [%-15thread] %-50.50(%class{43}:%line) : %m%n</pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!-- 对各个日志进行配置 -->
    <logger name="org.mybatis" level="DEBUG" additivity="false">
        <appender-ref ref="LOGFILE_MYBATIS"/>
    </logger>

    <logger name="org.hibernate" level="TRACE" additivity="false">
        <appender-ref ref="LOGFILE_HIBERNATE"/>
    </logger>

    <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" additivity="false">
        <appender-ref ref="LOGFILE_HIBERNATE"/>
    </logger>

    <root level="INFO"> <!-- 大于等于此级别的日志才会输出 -->
        <appender-ref ref="CONSOLE"/>
        <appender-ref ref="LOGFILE_APP"/>
        <appender-ref ref="LOGFILE_ERROR"/>
    </root>
</configuration>

 

Maven 打包lib分离配置

Maven中pom.xml默认的打包。。。。

猜你喜欢

转载自blog.csdn.net/zyplanke/article/details/117286328
今日推荐