Я пытаюсь добавить ведение журнала для Ktor
http запросов в приложении Android.Согласно документам я должен добавить зависимость gradle
implementation "io.ktor:ktor-client-logging:$ktor_version"
и просто использовать этот фрагмент
val client = HttpClient() {
install(Logging) {
logger = Logger.DEFAULT
level = LogLevel.HEADERS
}
}
Проблема в том, что компилятор "игнорирует"пакет" io.ktor.client.features.logging "добавлен в качестве зависимости.Что странно, так это то, что JsonFeature (добавленный как похожая зависимость) работает просто отлично.
install(JsonFeature) { // perfectly works
...
}
install(Logging) { // unresolved reference
...
}
Я уже проверил .jar
файл, который gradle добавлен в проект, он содержит все ожидаемые классы, я могу открыть их и посмотретьисходный код, но волшебным образом просто не могу использовать в моем приложении.После нескольких часов исследований, я думаю, это может быть как-то связано с метаданными gradle, или что функция ведения журнала является мультиплатформенной, и требуется дополнительная конфигурация gradle, но, к сожалению, я не эксперт по gradle.
Я пытался добавить enableFeaturePreview("GRADLE_METADATA")
до settings.gradle
, но без эффекта.Даже пытался добавить «-jvm» к зависимости.
implementation "io.ktor:ktor-client-logging-jvm:$ktor_version"
С этой зависимостью Android Studio успешно нашла пакет, но не скомпилировала со следующей ошибкой
More than one file was found with OS independent path 'META-INF/ktor-http.kotlin_module'
Может кто-нибудь объяснить, как правильно настроить зависимости для Ktor logger?