springboot集成日誌組件

如何管理微服務日誌

 通過logback拓展組件,將所有微服務日誌蒐集到es,按天建索引,通過kibana展示

1.引入maven依賴

<dependency>
	<groupId>com.internetitem</groupId>
	<artifactId>logback-elasticsearch-appender</artifactId>
	<version>1.6</version>
</dependency>

 2.引入logback.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
    <appender name="ELASTIC" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender">
	<url>http://${log.hostname:-localhost}:${log.port:-8080}/_bulk</url>
        <index>logs-%date{yyyy-MM-dd}</index>
        <type>log</type>
        <loggerName>es-logger</loggerName> <!-- optional -->
        <errorLoggerName>es-error-logger</errorLoggerName> <!-- optional -->
        <connectTimeout>30000</connectTimeout> <!-- optional (in ms, default 30000) -->
        <errorsToStderr>false</errorsToStderr> <!-- optional (default false) -->
        <includeCallerData>false</includeCallerData> <!-- optional (default false) -->
        <logsToStderr>false</logsToStderr> <!-- optional (default false) -->
        <maxQueueSize>104857600</maxQueueSize> <!-- optional (default 104857600) -->
        <maxRetries>3</maxRetries> <!-- optional (default 3) -->
        <readTimeout>30000</readTimeout> <!-- optional (in ms, default 30000) -->
        <sleepTime>250</sleepTime> <!-- optional (in ms, default 250) -->
        <rawJsonMessage>false</rawJsonMessage> <!-- optional (default false) -->
        <includeMdc>false</includeMdc> <!-- optional (default false) -->
        <maxMessageSize>100</maxMessageSize> <!-- optional (default -1 -->
        <authentication class="com.internetitem.logback.elasticsearch.config.BasicAuthentication" /> <!-- optional -->
        <properties>
            <property>
                <name>app</name>
                <value>${spring.application.name:defaultApp}</value>
                <allowEmpty>false</allowEmpty>
            </property>
            <property>
                <name>host</name>
                <value>${HOSTNAME}</value>
                <allowEmpty>false</allowEmpty>
            </property>
            <property>
                <name>severity</name>
                <value>%level</value>
            </property>
            <property>
                <name>thread</name>
                <value>%thread</value>
            </property>
            <property>
                <name>stacktrace</name>
                <value>%ex</value>
            </property>
            <property>
                <name>logger</name>
                <value>%logger</value>
            </property>
        </properties>
        <headers>
            <header>
                <name>Content-Type</name>
                <value>application/json</value>
            </header>
        </headers>
    </appender>
    
    

	<include resource="org/springframework/boot/logging/logback/defaults.xml" />
	<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
	<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
	<include resource="org/springframework/boot/logging/logback/file-appender.xml" />
	<root level="INFO">
	    <appender-ref ref="ELASTIC" />
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="FILE" />
	</root>
	
	
	<logger name="es-error-logger" level="INFO" additivity="false">
        <appender-ref ref="CONSOLE" />
    </logger>
	<logger name="es-logger" level="ERROR" additivity="false">
        <appender-ref ref="CONSOLE" />
    </logger>
<!--     <logger name="es-logger" level="INFO" additivity="false">
        <appender name="ES_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
            ...
            <encoder>
                <pattern>%msg</pattern> This pattern is important, otherwise it won't be the raw Elasticsearch format anyomre
            </encoder>
        </appender>
    </logger> -->

</configuration>

3 修改logback配置的兩種方式

第一種:修改logback配置文件中的localhost爲es的ip,8080爲es的http端口,defaultApp爲自己的微服務名稱

第二種:啓動jar包時指定配置,java -Dlog.hostname=es的ip -Dlog.port=es的http端口 -Dspring.application.name=服務名 -jar xxx.jar

 

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