diff options
author | pacien | 2018-03-14 17:19:00 +0100 |
---|---|---|
committer | pacien | 2018-03-14 17:19:00 +0100 |
commit | 989a0cc1bea686de198a742a7913ea0375c66c29 (patch) | |
tree | 6ac734c035cd18853f2becd159867b2c8fb90826 /app/src/main/java/org/pacien/tincapp/context/App.kt | |
parent | 2c5d24f024e4972fe20670594b3ed5ab38eeac4e (diff) | |
download | tincapp-989a0cc1bea686de198a742a7913ea0375c66c29.tar.gz |
Implement dual logging for application context
Diffstat (limited to 'app/src/main/java/org/pacien/tincapp/context/App.kt')
-rw-r--r-- | app/src/main/java/org/pacien/tincapp/context/App.kt | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/app/src/main/java/org/pacien/tincapp/context/App.kt b/app/src/main/java/org/pacien/tincapp/context/App.kt index d79ae3e..53049f3 100644 --- a/app/src/main/java/org/pacien/tincapp/context/App.kt +++ b/app/src/main/java/org/pacien/tincapp/context/App.kt | |||
@@ -9,15 +9,31 @@ import android.support.annotation.StringRes | |||
9 | import android.support.v7.app.AlertDialog | 9 | import android.support.v7.app.AlertDialog |
10 | import android.view.WindowManager | 10 | import android.view.WindowManager |
11 | import org.pacien.tincapp.R | 11 | import org.pacien.tincapp.R |
12 | import org.slf4j.Logger | ||
13 | import org.slf4j.LoggerFactory | ||
12 | 14 | ||
13 | /** | 15 | /** |
14 | * @author pacien | 16 | * @author pacien |
15 | */ | 17 | */ |
16 | class App : Application() { | 18 | class App : Application(), Thread.UncaughtExceptionHandler { |
19 | private var logger: Logger? = null | ||
20 | private var systemCrashHandler: Thread.UncaughtExceptionHandler? = null | ||
21 | |||
17 | override fun onCreate() { | 22 | override fun onCreate() { |
18 | super.onCreate() | 23 | super.onCreate() |
19 | appContext = applicationContext | 24 | appContext = applicationContext |
20 | handler = Handler() | 25 | handler = Handler() |
26 | |||
27 | AppLogger.configure() | ||
28 | logger = LoggerFactory.getLogger(this.javaClass) | ||
29 | |||
30 | systemCrashHandler = Thread.getDefaultUncaughtExceptionHandler() | ||
31 | Thread.setDefaultUncaughtExceptionHandler(this) | ||
32 | } | ||
33 | |||
34 | override fun uncaughtException(thread: Thread, throwable: Throwable) { | ||
35 | logger?.error("Fatal application error.", throwable) | ||
36 | systemCrashHandler?.uncaughtException(thread, throwable) | ||
21 | } | 37 | } |
22 | 38 | ||
23 | companion object { | 39 | companion object { |