@@ -62,6 +62,7 @@ object Logger {
62
62
internal const val TRACE = 4
63
63
64
64
const val SILENT = BuildConfig .SILENT_USER_OUTPUT
65
+ const val SENTRY_ENABLED = BuildConfig .SENTRY_ENABLED
65
66
66
67
/* *
67
68
* Print stack trace on error log.
@@ -71,14 +72,16 @@ object Logger {
71
72
/* *
72
73
* Context of Sentry error reporting software for adding info.
73
74
*/
74
- private val sentryContext: Context
75
+ private val sentryContext: Context ?
75
76
76
77
/* *
77
78
* Username used for error reporting.
78
79
*/
79
80
var username: String? = null
80
81
set(value) {
81
- sentryContext.user = UserBuilder ().setUsername(value).build()
82
+ if (SENTRY_ENABLED ) {
83
+ sentryContext?.user = UserBuilder ().setUsername(value).build()
84
+ }
82
85
Analytics .username = value ? : " "
83
86
}
84
87
@@ -88,9 +91,13 @@ object Logger {
88
91
}
89
92
90
93
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
+ }
94
101
LEVEL = configLevelValue()
95
102
}
96
103
@@ -168,7 +175,7 @@ object Logger {
168
175
}
169
176
if (! logOnly) {
170
177
Analytics .trackError(e)
171
- Sentry . capture(e)
178
+ capture(e)
172
179
}
173
180
addBreadcrumb(finalMessage, Breadcrumb .Level .ERROR )
174
181
}
@@ -221,28 +228,38 @@ object Logger {
221
228
222
229
@kotlin.PublishedApi
223
230
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
+ }
229
238
}
230
239
231
240
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
+ }
247
264
}
248
265
}
0 commit comments