@@ -62,6 +62,7 @@ object Logger {
6262 internal const val TRACE = 4
6363
6464 const val SILENT = BuildConfig .SILENT_USER_OUTPUT
65+ const val SENTRY_ENABLED = BuildConfig .SENTRY_ENABLED
6566
6667 /* *
6768 * Print stack trace on error log.
@@ -71,14 +72,16 @@ object Logger {
7172 /* *
7273 * Context of Sentry error reporting software for adding info.
7374 */
74- private val sentryContext: Context
75+ private val sentryContext: Context ?
7576
7677 /* *
7778 * Username used for error reporting.
7879 */
7980 var username: String? = null
8081 set(value) {
81- sentryContext.user = UserBuilder ().setUsername(value).build()
82+ if (SENTRY_ENABLED ) {
83+ sentryContext?.user = UserBuilder ().setUsername(value).build()
84+ }
8285 Analytics .username = value ? : " "
8386 }
8487
@@ -88,9 +91,13 @@ object Logger {
8891 }
8992
9093 init {
91- Sentry .init (BuildConfig .SENTRY_DSN )
92- sentryContext = Sentry .getContext()
93- addTags()
94+ if (SENTRY_ENABLED ) {
95+ Sentry .init (BuildConfig .SENTRY_DSN )
96+ sentryContext = Sentry .getContext()
97+ addTags()
98+ } else {
99+ sentryContext = null
100+ }
94101 LEVEL = configLevelValue()
95102 }
96103
@@ -168,7 +175,7 @@ object Logger {
168175 }
169176 if (! logOnly) {
170177 Analytics .trackError(e)
171- Sentry . capture(e)
178+ capture(e)
172179 }
173180 addBreadcrumb(finalMessage, Breadcrumb .Level .ERROR )
174181 }
@@ -221,28 +228,38 @@ object Logger {
221228
222229 @kotlin.PublishedApi
223230 internal fun addBreadcrumb (message : String , level : Breadcrumb .Level ) {
224- sentryContext.recordBreadcrumb(BreadcrumbBuilder ()
225- .setMessage(message)
226- .setLevel(level)
227- .setTimestamp(Date ())
228- .build())
231+ if (SENTRY_ENABLED ) {
232+ sentryContext?.recordBreadcrumb(BreadcrumbBuilder ()
233+ .setMessage(message)
234+ .setLevel(level)
235+ .setTimestamp(Date ())
236+ .build())
237+ }
229238 }
230239
231240 private fun addTags () {
232- val default = " unavailable"
233- val osName = System .getProperty(" os.name" , default)
234- val osVersion = System .getProperty(" os.version" , default)
235- val javaVendor = System .getProperty(" java.vendor" , default)
236- val javaVersion = System .getProperty(" java.version" , default)
237-
238- sentryContext.addTag(" environment" , BuildConfig .ENV )
239- sentryContext.addTag(" log-level" , BuildConfig .LOG_LEVEL )
240- sentryContext.addTag(" version" , BuildConfig .VERSION )
241- sentryContext.addTag(" version-code" , BuildConfig .VERSION_CODE
242- .toString())
243- sentryContext.addTag(" os-name" , osName)
244- sentryContext.addTag(" os-version" , osVersion)
245- sentryContext.addTag(" java-vendor" , javaVendor)
246- sentryContext.addTag(" java-version" , javaVersion)
241+ if (SENTRY_ENABLED ) {
242+ val default = " unavailable"
243+ val osName = System .getProperty(" os.name" , default)
244+ val osVersion = System .getProperty(" os.version" , default)
245+ val javaVendor = System .getProperty(" java.vendor" , default)
246+ val javaVersion = System .getProperty(" java.version" , default)
247+
248+ sentryContext?.addTag(" environment" , BuildConfig .ENV )
249+ sentryContext?.addTag(" log-level" , BuildConfig .LOG_LEVEL )
250+ sentryContext?.addTag(" version" , BuildConfig .VERSION )
251+ sentryContext?.addTag(" version-code" , BuildConfig .VERSION_CODE
252+ .toString())
253+ sentryContext?.addTag(" os-name" , osName)
254+ sentryContext?.addTag(" os-version" , osVersion)
255+ sentryContext?.addTag(" java-vendor" , javaVendor)
256+ sentryContext?.addTag(" java-version" , javaVersion)
257+ }
258+ }
259+
260+ private fun capture (e : Throwable ) {
261+ if (SENTRY_ENABLED ) {
262+ Sentry .capture(e)
263+ }
247264 }
248265}
0 commit comments