diff options
author | Titouan BION <titouan.bion@gmail.com> | 2021-02-13 23:25:18 +0100 |
---|---|---|
committer | Joffrey Bion <joffrey.bion@gmail.com> | 2021-02-13 23:40:10 +0100 |
commit | f6a6f8f3e2ba41b44c2e9490b9dc2cc013fa2994 (patch) | |
tree | 0098dd46f883a0baca302e83484199b229d8afb6 /sw-server | |
parent | Rename 'application' label of Prometheus exported metrics to match a more Kub... (diff) | |
download | seven-wonders-f6a6f8f3e2ba41b44c2e9490b9dc2cc013fa2994.tar.gz seven-wonders-f6a6f8f3e2ba41b44c2e9490b9dc2cc013fa2994.tar.bz2 seven-wonders-f6a6f8f3e2ba41b44c2e9490b9dc2cc013fa2994.zip |
Add Loki logback appender to push server logs to the free cloud hosted Loki instance provided by Grafana.com
Diffstat (limited to 'sw-server')
-rw-r--r-- | sw-server/build.gradle.kts | 3 | ||||
-rw-r--r-- | sw-server/src/main/resources/logback.xml | 38 |
2 files changed, 40 insertions, 1 deletions
diff --git a/sw-server/build.gradle.kts b/sw-server/build.gradle.kts index a129f952..445ae4d8 100644 --- a/sw-server/build.gradle.kts +++ b/sw-server/build.gradle.kts @@ -24,7 +24,8 @@ dependencies { implementation("org.springframework.security:spring-security-messaging") // logging - implementation("ch.qos.logback:logback-classic:1.1.8") + implementation("ch.qos.logback:logback-classic:1.2.3") + implementation("com.github.loki4j:loki-logback-appender:1.0.0") // monitoring / metrics implementation("org.springframework.boot:spring-boot-starter-actuator") diff --git a/sw-server/src/main/resources/logback.xml b/sw-server/src/main/resources/logback.xml new file mode 100644 index 00000000..c87e740c --- /dev/null +++ b/sw-server/src/main/resources/logback.xml @@ -0,0 +1,38 @@ +<configuration> + <include resource="org/springframework/boot/logging/logback/defaults.xml"/> + <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> + + <appender name="LOKI" class="com.github.loki4j.logback.InstrumentedLoki4jAppender"> + <!-- + Loki Cloud hosted solution is limiting the batch size to 65536 Bytes, our log lines are exceeding this + limit quite often so we are sending them with a granularity of 1 instead of the default 1000. + The library does not provide a `batchSize` expressed in Bytes yet, so we cannot set it smarter than that. + --> + <batchSize>1</batchSize> + <batchTimeoutMs>10000</batchTimeoutMs> + <http> + <url>https://logs-prod-us-central1.grafana.net/loki/api/v1/push</url> + <auth> + <username>${LOKI_USERNAME}</username> + <password>${LOKI_PASSWORD}</password> + </auth> + <requestTimeoutMs>15000</requestTimeoutMs> + </http> + <format> + <label> + <pattern>application=seven-wonders,instance=${HOSTNAME},level=%level,class=%logger</pattern> + </label> + <message> + <pattern>level=%level class=%logger thread=%thread | %msg %ex</pattern> + </message> + </format> + </appender> + + <root level="DEBUG"> + <appender-ref ref="CONSOLE"/> + </root> + <root level="INFO"> + <appender-ref ref="LOKI"/> + </root> + +</configuration> |