天天看点

微服务项目日志配置微服务项目日志配置

如需转载分享,请标明出处,且不用于盈利为目的,谢谢合作!

微服务项目日志配置

在对应模块resources根目录下创建logback.xml 添加以下代码:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="10 second" debug="false">

    <property name="LOG_ROOT" value="/opt/logs"/>
    <property name="LOG_PATH" value="scf-trade-confirmation-service"/>
    <property name="LOG_HOME" value="${LOG_ROOT}/${LOG_PATH}"/>

    <appender name="FILE-INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>
                [ %d{yyyy-MM-dd HH:mm:ss.SSS} ] [ %-5level] [ %-4line] --- [ %21thread ] %logger{96}: %msg%n
            </pattern>
            <charset>UTF-8</charset>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}-%i.log</fileNamePattern>
            <maxHistory>30</maxHistory>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>64 MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
        <prudent>true</prudent>
    </appender>


    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                [%d{yyyy-MM-dd HH:mm:ss.SSS}] [ %-5level] [ %-4line] --- [ %21thread ] %logger{32}: %msg%n
            </pattern>
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <logger name="com.netflix" level="info"/>
    <logger name="org.apache.http" level="info"/>

    <root level="DEBUG">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="FILE-INFO"/>
    </root>

</configuration>
           

将value里的值改为对应的模块名。

<property name="LOG_PATH" value="scf-trade-confirmation-service"/>
           

Pom.xml添加依赖:

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>5.1</version>
</dependency>