diff --git a/app/src/main/java/com/tangem/tap/common/log/TangemCardSDKLogger.kt b/app/src/main/java/com/tangem/tap/common/log/TangemCardSDKLogger.kt index e9c1efdd96..f938ef17cc 100644 --- a/app/src/main/java/com/tangem/tap/common/log/TangemCardSDKLogger.kt +++ b/app/src/main/java/com/tangem/tap/common/log/TangemCardSDKLogger.kt @@ -22,9 +22,11 @@ internal class TangemCardSDKLogger( ) : TangemSdkLogger { override fun log(message: () -> String, level: Log.Level) { - // Disabled for now in [REDACTED_JIRA] - // if (!levels.contains(level)) return - // - // appLogsStore.saveLogMessage(message = messageFormatter.format(message, level)) + if (!levels.contains(level)) return + + appLogsStore.saveLogMessage( + tag = "CardSDK_${level.name}", + message = messageFormatter.format(message = message, level = level), + ) } } \ No newline at end of file diff --git a/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt b/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt index f197705464..7bc5ae57c9 100644 --- a/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt +++ b/app/src/main/java/com/tangem/tap/data/TangemBlockchainSDKLogger.kt @@ -2,6 +2,7 @@ package com.tangem.tap.data import com.tangem.blockchain.common.logging.BlockchainSDKLogger import com.tangem.datasource.local.logs.AppLogsStore +import timber.log.Timber /** * BlockchainSDK logger implementation @@ -15,6 +16,7 @@ internal class TangemBlockchainSDKLogger( ) : BlockchainSDKLogger { override fun log(level: BlockchainSDKLogger.Level, message: String) { + Timber.d(message) appLogsStore.saveLogMessage(tag = "BlockchainSDK_${level.name}", message) } } \ No newline at end of file diff --git a/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt b/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt index 56c6e52028..b12549863a 100644 --- a/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt +++ b/core/datasource/src/main/java/com/tangem/datasource/local/logs/AppLogsStore.kt @@ -1,7 +1,6 @@ package com.tangem.datasource.local.logs import android.content.Context -import com.tangem.datasource.BuildConfig import com.tangem.utils.coroutines.CoroutineDispatcherProvider import dagger.hilt.android.qualifiers.ApplicationContext import kotlinx.coroutines.* @@ -34,12 +33,14 @@ class AppLogsStore @Inject constructor( context = SupervisorJob() + dispatchers.io + CoroutineExceptionHandler { _, error -> Timber.e("AppLogsStore.scope is failed $error") }, ) + private val mutex = Mutex() private val zipMutex = Mutex() private val logFile by lazy { File(applicationContext.filesDir, PERMITTED_FILE_NAME) } + private val logFileZip by lazy { File(applicationContext.filesDir, PERMITTED_FILE_NAME_ZIP) } @@ -64,7 +65,7 @@ class AppLogsStore @Inject constructor( suspend fun getZipFile(): File? { return zipMutex.withLock { if (logFile.exists()) { - zip(listOf(logFile), logFileZip) + zip(filesToCompress = listOf(logFile), outputZipFile = logFileZip) } else { null } @@ -73,11 +74,6 @@ class AppLogsStore @Inject constructor( /** Save log [message] */ fun saveLogMessage(tag: String, message: String) { - // Temporally logs are not saved in prod environment - if (!BuildConfig.TESTER_MENU_ENABLED) { - return - } - launchWithLock { createFileIfNotExist() @@ -87,11 +83,6 @@ class AppLogsStore @Inject constructor( /** Save log that consists from [messages] */ fun saveLogMessage(tag: String, vararg messages: String) { - // Temporally logs are not saved in prod environment - if (!BuildConfig.TESTER_MENU_ENABLED) { - return - } - launchWithLock { createFileIfNotExist() @@ -139,9 +130,8 @@ class AppLogsStore @Inject constructor( private fun launchWithLock(callback: () -> Unit) { scope.launch { mutex.withLock { - runCatching { - callback() - }.onFailure(Timber::e) + runCatching { callback() } + .onFailure(Timber::e) } } } diff --git a/domain/feedback/src/main/java/com/tangem/domain/feedback/SendFeedbackEmailUseCase.kt b/domain/feedback/src/main/java/com/tangem/domain/feedback/SendFeedbackEmailUseCase.kt index a94664bc9a..86cd5c8945 100644 --- a/domain/feedback/src/main/java/com/tangem/domain/feedback/SendFeedbackEmailUseCase.kt +++ b/domain/feedback/src/main/java/com/tangem/domain/feedback/SendFeedbackEmailUseCase.kt @@ -29,8 +29,7 @@ class SendFeedbackEmailUseCase( address = getAddress(type), subject = emailSubjectResolver.resolve(type), message = createMessage(type), - // Temporally user data is not sent - file = null, // feedbackRepository.getZipLogFile(), + file = feedbackRepository.getZipLogFile(), ) feedbackRepository.sendEmail(email)