From 3dabaacfe8174c520a177ce2c6888fd09ab6e498 Mon Sep 17 00:00:00 2001 From: Aleksandr Soloshenko Date: Wed, 12 Feb 2025 06:22:40 +0700 Subject: [PATCH] [messages] log exception stacktrace in `sendSMS` --- .../modules/messages/MessagesService.kt | 15 +++++++++++++-- .../capcom/smsgateway/modules/messages/Module.kt | 4 +++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/me/capcom/smsgateway/modules/messages/MessagesService.kt b/app/src/main/java/me/capcom/smsgateway/modules/messages/MessagesService.kt index 914fbf8d..72957f6f 100644 --- a/app/src/main/java/me/capcom/smsgateway/modules/messages/MessagesService.kt +++ b/app/src/main/java/me/capcom/smsgateway/modules/messages/MessagesService.kt @@ -25,6 +25,8 @@ import me.capcom.smsgateway.modules.encryption.EncryptionService import me.capcom.smsgateway.modules.events.EventBus import me.capcom.smsgateway.modules.health.domain.CheckResult import me.capcom.smsgateway.modules.health.domain.Status +import me.capcom.smsgateway.modules.logs.LogsService +import me.capcom.smsgateway.modules.logs.db.LogEntry import me.capcom.smsgateway.modules.messages.data.SendRequest import me.capcom.smsgateway.modules.messages.events.MessageStateChangedEvent import me.capcom.smsgateway.modules.messages.workers.LogTruncateWorker @@ -38,6 +40,7 @@ class MessagesService( private val dao: MessagesDao, // todo: use MessagesRepository private val encryptionService: EncryptionService, private val events: EventBus, + private val logsService: LogsService, ) { private val countryCode: String? = @@ -337,12 +340,20 @@ class MessagesService( updateState(id, sourcePhoneNumber, ProcessingState.Processed) } catch (th: Throwable) { - th.printStackTrace() + logsService.insert( + LogEntry.Priority.ERROR, + MODULE_NAME, + "Can't send message: " + th.message, + mapOf( + "stacktrace" to th.stackTraceToString(), + ) + ) + updateState( id, sourcePhoneNumber, ProcessingState.Failed, - "Sending: " + th.message + "sendSMS: " + th.message ) } } diff --git a/app/src/main/java/me/capcom/smsgateway/modules/messages/Module.kt b/app/src/main/java/me/capcom/smsgateway/modules/messages/Module.kt index 60907790..055d25d5 100644 --- a/app/src/main/java/me/capcom/smsgateway/modules/messages/Module.kt +++ b/app/src/main/java/me/capcom/smsgateway/modules/messages/Module.kt @@ -12,4 +12,6 @@ val messagesModule = module { singleOf(::MessagesService) viewModel { MessagesListViewModel(get()) } viewModel { MessageDetailsViewModel(get()) } -} \ No newline at end of file +} + +val MODULE_NAME = "messages"