美文网首页
logback日志文件配置

logback日志文件配置

作者: 晨暮时代 | 来源:发表于2019-05-15 11:32 被阅读0次
<springProperty scope="context" name="appname" source="spring.application.name"/>
<!-- 日志文件存放目录(环境变量) -->
<property name="logdir" value="${LOG_PATH}"/>

<!--输出到控制台 ConsoleAppender 不配置root采用默认console输出 -->
<appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
    <layout class="ch.qos.logback.classic.PatternLayout">
        <pattern>
            <pattern>%d{HH:mm:ss.SSS} [%thread] %5p %c{1}:%L - %msg%n</pattern>
        </pattern>
    </layout>
</appender>
<!--输出到文件 RollingFileAppender error信息单独归档 -->
<appender name="errorLog"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--过滤日志,仅记录error日志 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>error</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <File>${logdir}/${appname}.error.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${logdir}/${appname}.error.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <!-- 单个日志文件最多 1000MB, 180天的日志周期,最大不能超过30GB -->
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>1000MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>180</maxHistory>
        <totalSizeCap>30GB</totalSizeCap>
    </rollingPolicy>
    <!--日志输出编码格式化 -->
    <encoder>
        <charset>UTF-8</charset>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %5p %c{1}:%L - %msg%n</pattern>
    </encoder>
</appender>

<!--输出到文件 RollingFileAppender info信息单独归档 -->
<appender name="infoLog"
          class="ch.qos.logback.core.rolling.RollingFileAppender">
    <!--过滤日志,仅记录info日志 -->
    <filter class="ch.qos.logback.classic.filter.LevelFilter">
        <level>info</level>
        <onMatch>ACCEPT</onMatch>
        <onMismatch>DENY</onMismatch>
    </filter>
    <File>${logdir}/${appname}.info.log</File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${logdir}/${appname}.info.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <!-- 单个日志文件最多 1000MB, 180天的日志周期,最大不能超过30GB -->
        <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>1000MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>180</maxHistory>
        <totalSizeCap>30GB</totalSizeCap>
    </rollingPolicy>
    <!--日志输出编码格式化 -->
    <encoder>
        <charset>UTF-8</charset>
        <pattern>%d{HH:mm:ss.SSS} [%thread] %5p %c{1}:%L - %msg%n</pattern>
    </encoder>
</appender>

<root level="info">
    <appender-ref ref="consoleLog"/>
    <appender-ref ref="errorLog"/>
    <appender-ref ref="infoLog"/>
</root>

上文中配置的日志存储目录变量${LOG_PATH},如果是手动发布项目jar包,则需要指定路径,例如:java -DLOG_PATH=c:/git/ -jar xxxx.jar --spring.profiles.active=sit;如果是通过IDEA启动,可以在启动配置里的VM options选项中添加-DLOG_PATH=c:/git/ ,也可以在Environment variables里定义LOG_PATH变量。

相关文章

网友评论

      本文标题:logback日志文件配置

      本文链接:https://www.haomeiwen.com/subject/gexpaqtx.html