Add Sentry

This commit is contained in:
Jakob Gillich 2020-07-22 19:50:17 +02:00
parent 3345e56b38
commit ff8f787b81
4 changed files with 26 additions and 6 deletions

View file

@ -75,7 +75,8 @@ lazy val commonSettings = Seq(
"com.beachape" %% "enumeratum" % "1.6.1", "com.beachape" %% "enumeratum" % "1.6.1",
"joda-time" % "joda-time" % "2.10.6", "joda-time" % "joda-time" % "2.10.6",
"commons-io" % "commons-io" % "2.6", "commons-io" % "commons-io" % "2.6",
"com.github.scopt" %% "scopt" % "4.0.0-RC2" "com.github.scopt" %% "scopt" % "4.0.0-RC2",
"io.sentry" % "sentry-logback" % "1.7.30"
) )
) )
@ -88,6 +89,7 @@ lazy val pscryptoSettings = Seq(
lazy val psloginPackSettings = Seq( lazy val psloginPackSettings = Seq(
packMain := Map("ps-login" -> "net.psforever.pslogin.PsLogin"), packMain := Map("ps-login" -> "net.psforever.pslogin.PsLogin"),
packArchivePrefix := "pslogin", packArchivePrefix := "pslogin",
packJvmOpts := Map("ps-login" -> Seq("-Dstacktrace.app.packages=net.psforever")),
packExtraClasspath := Map("ps-login" -> Seq("${PROG_HOME}/pscrypto-lib", "${PROG_HOME}/config")), packExtraClasspath := Map("ps-login" -> Seq("${PROG_HOME}/pscrypto-lib", "${PROG_HOME}/config")),
packResourceDir += (baseDirectory.value / "pscrypto-lib" -> "pscrypto-lib"), packResourceDir += (baseDirectory.value / "pscrypto-lib" -> "pscrypto-lib"),
packResourceDir += (baseDirectory.value / "config" -> "config") packResourceDir += (baseDirectory.value / "config" -> "config")

View file

@ -61,7 +61,8 @@ case class AppConfig(
antiCheat: AntiCheatConfig, antiCheat: AntiCheatConfig,
network: NetworkConfig, network: NetworkConfig,
developer: DeveloperConfig, developer: DeveloperConfig,
kamon: KamonConfig kamon: KamonConfig,
sentry: SentryConfig
) )
case class LoginConfig( case class LoginConfig(
@ -123,3 +124,8 @@ case class NetSimConfig(
case class KamonConfig( case class KamonConfig(
enable: Boolean enable: Boolean
) )
case class SentryConfig(
enable: Boolean,
dsn: String
)

View file

@ -31,10 +31,17 @@
</filter> </filter>
</appender> </appender>
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<root level="TRACE"> <root level="TRACE">
<appender-ref ref="STDOUT" /> <appender-ref ref="STDOUT"/>
<appender-ref ref="FILE-TRACE" /> <appender-ref ref="FILE-TRACE"/>
<appender-ref ref="FILE-DEBUG" /> <appender-ref ref="FILE-DEBUG"/>
<appender-ref ref="Sentry"/>
</root> </root>
<!-- Logger specific overrides --> <!-- Logger specific overrides -->

View file

@ -2,7 +2,6 @@ package net.psforever.pslogin
import java.net.InetAddress import java.net.InetAddress
import java.util.Locale import java.util.Locale
import akka.{actor => classic} import akka.{actor => classic}
import akka.actor.typed.scaladsl.adapter._ import akka.actor.typed.scaladsl.adapter._
import akka.routing.RandomPool import akka.routing.RandomPool
@ -26,6 +25,7 @@ import services.properties.PropertyOverrideManager
import org.flywaydb.core.Flyway import org.flywaydb.core.Flyway
import java.nio.file.Paths import java.nio.file.Paths
import scopt.OParser import scopt.OParser
import io.sentry.Sentry
import net.psforever.actors.session.SessionActor import net.psforever.actors.session.SessionActor
import net.psforever.login.psadmin.PsAdminActor import net.psforever.login.psadmin.PsAdminActor
@ -89,6 +89,11 @@ object PsLogin {
Kamon.init() Kamon.init()
} }
if (Config.app.sentry.enable) {
logger.info(s"Enabling Sentry")
Sentry.init(Config.app.sentry.dsn)
}
/** Start up the main actor system. This "system" is the home for all actors running on this server */ /** Start up the main actor system. This "system" is the home for all actors running on this server */
implicit val system = classic.ActorSystem("PsLogin") implicit val system = classic.ActorSystem("PsLogin")
Default(system) Default(system)