@@ -10,66 +10,72 @@ class MuunTree : Timber.DebugTree() {
1010 * Log a message, taking steps to enrich and report errors.
1111 * Automatically infers the tag from the calling class (See Timber.DebugTree).
1212 */
13- override fun log (priority : Int , error : Throwable ? , message : String? , vararg args : Any ? ) {
13+ override fun log (priority : Int , tag : String ? , message : String , t : Throwable ? ) {
1414 // For low priority logs, we don't have any special treatment:
1515 if (priority < Log .INFO ) {
16- sendToLogcat(priority, message, error )
16+ sendToLogcat(priority, tag, message, t )
1717 return
1818 }
1919
2020 when (priority) {
2121 Log .INFO -> {
22- sendToLogcat(Log .INFO , " Breadcrumb: ${ message!! } " , null )
22+ sendToLogcat(Log .INFO , tag, " Breadcrumb: $message " , null )
2323 @Suppress(" DEPRECATION" ) // I know. These are the only allowed usages.
2424 Crashlytics .logBreadcrumb(message)
2525 }
26+
2627 Log .WARN -> {
27- sendToLogcat(Log .WARN , message!! , null )
28+ sendToLogcat(Log .WARN , tag, message, null )
2829 @Suppress(" DEPRECATION" ) // I know. These are the only allowed usages.
2930 Crashlytics .logBreadcrumb(" Warning: $message " )
3031 }
32+
3133 else -> { // Log.ERROR && Log.ASSERT
32- sendCrashReport(message, error )
34+ sendCrashReport(tag, message, t )
3335 }
3436 }
3537 }
3638
37- private fun sendCrashReport (message : String? , error : Throwable ? ) {
39+ private fun sendCrashReport (tag : String? , message : String , error : Throwable ? ) {
3840 try {
39- sendPreparedCrashReport(message, error)
41+ sendPreparedCrashReport(tag, message, error)
4042
4143 } catch (crashReportingError: Throwable ) {
42- sendFallbackCrashReport(message, error, crashReportingError)
44+ sendFallbackCrashReport(tag, message, error, crashReportingError)
4345 }
4446 }
4547
46- private fun sendPreparedCrashReport (message : String? , error : Throwable ? ) {
48+ private fun sendPreparedCrashReport (tag : String? , message : String , error : Throwable ? ) {
4749 val report = CrashReportBuilder .build(message, error)
4850
4951 if (LoggingContext .sendToCrashlytics) {
5052 Crashlytics .reportError(report)
5153 }
5254
53- sendToLogcat(Log .ERROR , " ${report.message} ${report.metadata} " , report.error)
55+ sendToLogcat(Log .ERROR , tag, " ${report.message} ${report.metadata} " , report.error)
5456 }
5557
5658 private fun sendFallbackCrashReport (
57- message : String? ,
59+ tag : String? ,
60+ message : String ,
5861 error : Throwable ? ,
5962 crashReportingError : Throwable ,
6063 ) {
6164
62- sendToLogcat(Log .ERROR , " During error processing" , crashReportingError)
63- sendToLogcat(Log .ERROR , message, error)
65+ sendToLogcat(Log .ERROR , tag, " During error processing" , crashReportingError)
66+ sendToLogcat(Log .ERROR , tag, message, error)
6467
6568 if (LoggingContext .sendToCrashlytics) {
6669 Crashlytics .reportReportingError(message, error, crashReportingError)
6770 }
6871 }
6972
70- private fun sendToLogcat (priority : Int , message : String? , error : Throwable ? ) {
71- if (LoggingContext .sendToLogcat) {
72- super .log(priority, message, error)
73+ private fun sendToLogcat (priority : Int , tag : String? , message : String , error : Throwable ? ) {
74+ // No matter what env or kind or build this is, we want to log errors ;)
75+ if (LoggingContext .sendToLogcat || priority >= Log .ERROR ) {
76+ // Named params are required to avoid calling new method overload :s
77+ // log(priority: Int, message: String?, vararg args: Any?)
78+ super .log(priority = priority, tag = tag, message = message, t = error)
7379 }
7480 }
7581}
0 commit comments