logback-spring.xml (logback.xml) 結合ELK配置示例

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--
    configuration:根節點,包含三個屬性scan、scanPeriod和debug,
    scan如果設置爲true,表示配置文件有變化時會被重新加載;
    scanPeriod設置監測配置文件是否有修改的時間間隔;
    debug設置爲true表示將打印出logback內部日誌信息,實時查看logback運行狀態
    -->
    <!--
    <configuration scan="true" scanPeriod="60 seconds" debug="false">
    -->
    <!--
    contextName:子節點,用來設置上下文, 每個logger都關聯到logger上下文,默認上下文名稱爲default
    -->
    <!--
    property:用來定義變量值,有兩個屬性name和value,name是變量的名字,value是變量對應的值
    -->
    <!--
    timestamp:獲取時間戳字符串,有兩個屬性key和datePattern,key標識此<timestamp>的名字,datePattern設置將當前時間轉換爲字符串
    -->
    <!--
    logger:用來設置某一個包或具體的某一個類的日誌打印級別、以及指定<appender>
    -->
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--
        appender:負責寫日誌的組件,有兩個必要屬性name和class,name指定appender名稱,class指定appender的全限定名
        -->
        <destination>127.0.0.1:4560</destination>
        <!-- 日誌輸出編碼 -->
        <encoder charset="UTF-8"
                 class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
            <providers>
                <timestamp>
                    <timeZone>UTC</timeZone>
                </timestamp>
                <pattern>
                    <pattern>
                        {
                        "logLevel-0524": "%level",
                        "serviceName-0524": "${springAppName:-}",
                        "pid-0524": "${PID:-}",
                        "thread-0524": "%thread",
                        "class-0524": "%logger{40}",
                        "rest-0524": "%message"
                        }
                    </pattern>
                </pattern>
            </providers>
        </encoder>
    </appender>

    <root level="DEBUG">
        <appender-ref ref="LOGSTASH"/>
        <appender-ref ref="CONSOLE"/>
    </root>

</configuration>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章