diff --git a/.github/release.yml b/.github/release.yml index 02026d3cd..59288ddb4 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -12,6 +12,9 @@ changelog: - title: Refactoring labels: - refactoring + - title: Dependencies + labels: + - dependencies - title: Other changes labels: - "*" diff --git a/app/src/main/assets/logging.properties b/app/src/main/assets/logging.properties new file mode 100644 index 000000000..c9e100fb5 --- /dev/null +++ b/app/src/main/assets/logging.properties @@ -0,0 +1,4 @@ + +# reduce verbose of some otherwise annoying ical4j messages +net.fortuna.ical4j.data.level = INFO +net.fortuna.ical4j.model.Recur.level = INFO diff --git a/app/src/main/kotlin/at/bitfire/davdroid/log/LogManager.kt b/app/src/main/kotlin/at/bitfire/davdroid/log/LogManager.kt index 04967def4..312c5c8c1 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/log/LogManager.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/log/LogManager.kt @@ -13,7 +13,6 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.cancel import kotlinx.coroutines.launch -import java.io.Closeable import java.util.logging.Level import java.util.logging.Logger import javax.inject.Inject @@ -71,18 +70,18 @@ class LogManager @Inject constructor( val logVerbose = logToFile || BuildConfig.DEBUG || Log.isLoggable(logger.name, Log.DEBUG) logger.info("Verbose logging = $logVerbose; log to file = $logToFile") - // root logger: remove all existing handlers - val rootLogger = Logger.getLogger("") - for (handler in rootLogger.handlers) { - rootLogger.removeHandler(handler) - if (handler is Closeable) // gracefully close previous verbose-logging handlers - handler.close() + // reset existing loggers and initialize from assets/logging.properties + context.assets.open("logging.properties").use { + val javaLogManager = java.util.logging.LogManager.getLogManager() + javaLogManager.readConfiguration(it) } - // set log level and always log to logcat + // root logger: set default log level and always log to logcat + val rootLogger = Logger.getLogger("") rootLogger.level = if (logVerbose) Level.ALL else Level.INFO rootLogger.addHandler(LogcatHandler()) + // log to file, if requested if (logToFile) rootLogger.addHandler(logFileHandler.get()) } diff --git a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTask.kt b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTask.kt index 93c2ce55a..dc8099e56 100644 --- a/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTask.kt +++ b/app/src/main/kotlin/at/bitfire/davdroid/resource/LocalTask.kt @@ -9,7 +9,6 @@ import at.bitfire.ical4android.BatchOperation import at.bitfire.ical4android.DmfsTask import at.bitfire.ical4android.DmfsTaskFactory import at.bitfire.ical4android.DmfsTaskList -import at.bitfire.ical4android.Ical4Android import at.bitfire.ical4android.Task import org.dmfs.tasks.contract.TaskContract.Tasks import java.util.UUID @@ -79,7 +78,7 @@ class LocalTask: DmfsTask, LocalResource { override fun clearDirty(fileName: String?, eTag: String?, scheduleTag: String?) { if (scheduleTag != null) - Ical4Android.log.fine("Schedule-Tag for tasks not supported yet, won't save") + logger.fine("Schedule-Tag for tasks not supported yet, won't save") val values = ContentValues(4) if (fileName != null) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c6da885eb..2d5376de7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -20,7 +20,7 @@ androidx-test-junit = "1.2.1" androidx-work = "2.9.0" bitfire-cert4android = "f1cc9b9ca3" bitfire-dav4jvm = "2b414984a8" -bitfire-ical4android = "505f74771e" +bitfire-ical4android = "a36ee480aa" bitfire-vcard4android = "d5415f20b7" compose-accompanist = "0.34.0" compose-bom = "2024.06.00"