summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-11-11 00:08:13 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-11-11 00:31:00 +0100
commitefd57bc38aafdbaebe7978fcb3428fa8b0eabd0c (patch)
tree0d39980a63e8c526206b79671a1f5c6d83af32d5
parent192bb81e8a8e3418c0bd84b751b35b7b1192fcdc (diff)
Add support for simulator error reporting via Sentry
-rw-r--r--docker-compose.override.yml4
-rw-r--r--docker-compose.prod.yml4
-rw-r--r--docker-compose.yml2
-rw-r--r--simulator/opendc-runner-web/build.gradle.kts4
-rw-r--r--simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt2
-rw-r--r--simulator/opendc-runner-web/src/main/resources/log4j2.xml11
6 files changed, 21 insertions, 6 deletions
diff --git a/docker-compose.override.yml b/docker-compose.override.yml
index 4ae19dc6..e48f4dff 100644
--- a/docker-compose.override.yml
+++ b/docker-compose.override.yml
@@ -15,6 +15,10 @@ services:
environment:
SENTRY_ENVIRONMENT: "development"
+ simulator:
+ environment:
+ SENTRY_ENVIRONMENT: "development"
+
mongo:
ports:
- "27017:27017"
diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml
index 375a4489..3cefdcdd 100644
--- a/docker-compose.prod.yml
+++ b/docker-compose.prod.yml
@@ -14,3 +14,7 @@ services:
- "8081:8081"
environment:
SENTRY_ENVIRONMENT: "production"
+
+ simulator:
+ environment:
+ SENTRY_ENVIRONMENT: "production"
diff --git a/docker-compose.yml b/docker-compose.yml
index 7c13c814..45a961fe 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -49,6 +49,8 @@ services:
- OPENDC_DB_USERNAME
- OPENDC_DB_PASSWORD
- OPENDC_DB_HOST=mongo
+ - SENTRY_DSN=${OPENDC_SIMULATOR_SENTRY_DSN}
+ - SENTRY_ENVIRONMENT
mongo:
build:
diff --git a/simulator/opendc-runner-web/build.gradle.kts b/simulator/opendc-runner-web/build.gradle.kts
index a46e430f..7ae3c641 100644
--- a/simulator/opendc-runner-web/build.gradle.kts
+++ b/simulator/opendc-runner-web/build.gradle.kts
@@ -29,7 +29,7 @@ plugins {
}
application {
- mainClassName = "org.opendc.runner.web.MainKt"
+ mainClass.set("org.opendc.runner.web.MainKt")
}
dependencies {
@@ -45,7 +45,7 @@ dependencies {
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.9.8") {
exclude("org.jetbrains.kotlin", module = "kotlin-reflect")
}
-
+ implementation("io.sentry:sentry-log4j2:3.1.1")
implementation("org.mongodb:mongodb-driver-sync:4.0.5")
runtimeOnly("org.apache.logging.log4j:log4j-slf4j-impl:2.13.1")
diff --git a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt
index 80b3bb20..6369fdd8 100644
--- a/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt
+++ b/simulator/opendc-runner-web/src/main/kotlin/org/opendc/runner/web/Main.kt
@@ -325,7 +325,7 @@ public class RunnerCli : CliktCommand(name = "runner") {
logger.info { "Successfully finished scenario $id" }
} catch (e: Exception) {
- logger.warn(e) { "Scenario failed to finish" }
+ logger.error(e) { "Scenario failed to finish" }
manager.fail(id)
} finally {
heartbeat.cancel()
diff --git a/simulator/opendc-runner-web/src/main/resources/log4j2.xml b/simulator/opendc-runner-web/src/main/resources/log4j2.xml
index 87179332..503bc5dc 100644
--- a/simulator/opendc-runner-web/src/main/resources/log4j2.xml
+++ b/simulator/opendc-runner-web/src/main/resources/log4j2.xml
@@ -23,21 +23,26 @@
~ SOFTWARE.
-->
-<Configuration status="WARN">
+<Configuration status="WARN" packages="org.apache.logging.log4j.core,io.sentry.log4j2">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%highlight{%-5level}] %logger{36} - %msg%n" disableAnsi="false"/>
</Console>
+
+ <Sentry name="Sentry" />
</Appenders>
<Loggers>
<Logger name="org.opendc" level="warn" additivity="false">
<AppenderRef ref="Console"/>
+ <AppenderRef ref="Sentry"/>
</Logger>
<Logger name="org.opendc.runner" level="info" additivity="false">
<AppenderRef ref="Console"/>
+ <AppenderRef ref="Sentry"/>
</Logger>
- <Root level="error">
- <AppenderRef ref="Console"/>
+ <Root level="info">
+ <AppenderRef level="error" ref="Console"/>
+ <AppenderRef ref="Sentry"/>
</Root>
</Loggers>
</Configuration>