Created
August 3, 2017 17:37
-
-
Save moelholm/7ff684717703d027ed72dfea1d8daf86 to your computer and use it in GitHub Desktop.
Recipe for: Elastic Search log appender with Logback (from a Spring Boot application)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... | |
ext { | |
versionLogbackElasticSearchAppender = "1.2" | |
} | |
... | |
dependencies { | |
compile "com.internetitem:logback-elasticsearch-appender:$versionLogbackElasticSearchAppender" | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<included> | |
<property name="LOG_LEVEL_PATTERN" value="[%X{userName} %X{requestId}] %5p"/> | |
<jmxConfigurator/> | |
<include resource="org/springframework/boot/logging/logback/base.xml"/> | |
</included> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<configuration> | |
<include resource="logback-base.xml" /> | |
<property name="ELASTIC_SEARCH_INDEX_NAME" value="my-index-name-in-elasticsearch" /> | |
<property name="HOST" value="my-apps-hostname" /> | |
<include resource="logback-with-elasticsearch.xml" /> | |
</configuration> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<included> | |
<appender name="ELASTIC" class="com.internetitem.logback.elasticsearch.ElasticsearchAppender"> | |
<url>http://my-elastic-search-hostname:9200/_bulk</url> | |
<index>${ELASTIC_SEARCH_INDEX_NAME}-%date{yyyy-MM-dd}</index> | |
<type>tester</type> | |
<loggerName>my-logger</loggerName> <!-- optional --> | |
<errorLoggerName>my-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 104,857,600 = 200MB) --> | |
<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) --> | |
<properties> | |
<property> | |
<name>host</name> | |
<value>${HOST}</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> | |
<property> | |
<name>mdcRequestId</name> | |
<value>%X{requestId}</value> | |
</property> | |
<property> | |
<name>mdcSessionId</name> | |
<value>%X{sessionId}</value> | |
</property> | |
<property> | |
<name>mdcUserName</name> | |
<value>%X{userName}</value> | |
</property> | |
</properties> | |
</appender> | |
<root level="info"> | |
<appender-ref ref="CONSOLE"/> | |
<appender-ref ref="ELASTIC"/> | |
</root> | |
<!-- We don't want to see a never ending cascade of connection failed ERRORS --> | |
<logger name="my-error-logger" level="OFF" /> | |
<!-- This pattern is important, otherwise it won't be the raw Elasticsearch format anymore --> | |
<logger name="my-logger" level="INFO" additivity="false"> | |
<appender name="ES_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> | |
<encoder> | |
<pattern>%msg | |
</pattern> | |
</encoder> | |
</appender> | |
</logger> | |
</included> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
logback-core 1.1.7 | |
logback-classic 1.1.7 | |
Spring Boot cfg...: | |
# Log configuration file | |
logging.config=classpath:logback-for-server.xml |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment