From 161ea6b83a25df5943f3f1e2b0e9ce2b23ce1a69 Mon Sep 17 00:00:00 2001 From: Kizito Nwose Date: Thu, 8 Aug 2024 17:52:35 +0200 Subject: [PATCH] Proper logging --- .../com/kizitonwose/calendar/log/Log.android.kt | 7 +++++++ .../kizitonwose/calendar/compose/CalendarState.kt | 3 ++- .../compose/heatmapcalendar/HeatMapCalendarState.kt | 3 ++- .../compose/weekcalendar/WeekCalendarState.kt | 3 ++- .../compose/yearcalendar/YearCalendarState.kt | 3 ++- .../kotlin/com/kizitonwose/calendar/log/Log.kt | 3 +++ .../com/kizitonwose/calendar/log/Log.desktop.kt | 12 ++++++++++++ .../kotlin/com/kizitonwose/calendar/log/Log.ios.kt | 7 +++++++ .../com/kizitonwose/calendar/log/Log.wasmJs.kt | 8 ++++++++ 9 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 compose-multiplatform/library/src/androidMain/kotlin/com/kizitonwose/calendar/log/Log.android.kt create mode 100644 compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/log/Log.kt create mode 100644 compose-multiplatform/library/src/desktopMain/kotlin/com/kizitonwose/calendar/log/Log.desktop.kt create mode 100644 compose-multiplatform/library/src/iosMain/kotlin/com/kizitonwose/calendar/log/Log.ios.kt create mode 100644 compose-multiplatform/library/src/wasmJsMain/kotlin/com/kizitonwose/calendar/log/Log.wasmJs.kt diff --git a/compose-multiplatform/library/src/androidMain/kotlin/com/kizitonwose/calendar/log/Log.android.kt b/compose-multiplatform/library/src/androidMain/kotlin/com/kizitonwose/calendar/log/Log.android.kt new file mode 100644 index 00000000..dfa6998b --- /dev/null +++ b/compose-multiplatform/library/src/androidMain/kotlin/com/kizitonwose/calendar/log/Log.android.kt @@ -0,0 +1,7 @@ +package com.kizitonwose.calendar.log + +import android.util.Log + +internal actual fun log(tag: String, message: String) { + Log.w(tag, message) +} diff --git a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/CalendarState.kt b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/CalendarState.kt index b734d45f..d31d4acf 100644 --- a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/CalendarState.kt +++ b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/CalendarState.kt @@ -26,6 +26,7 @@ import com.kizitonwose.calendar.data.checkRange import com.kizitonwose.calendar.data.getCalendarMonthData import com.kizitonwose.calendar.data.getMonthIndex import com.kizitonwose.calendar.data.getMonthIndicesCount +import com.kizitonwose.calendar.log.log import kotlinx.datetime.DayOfWeek /** @@ -245,7 +246,7 @@ public class CalendarState internal constructor( private fun getScrollIndex(month: YearMonth): Int? { if (month !in startMonth..endMonth) { - println("CalendarState - Attempting to scroll out of range: $month") + log("CalendarState", "Attempting to scroll out of range: $month") return null } return getMonthIndex(startMonth, month) diff --git a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt index 34c33426..ffc2484b 100644 --- a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt +++ b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt @@ -27,6 +27,7 @@ import com.kizitonwose.calendar.data.checkRange import com.kizitonwose.calendar.data.getHeatMapCalendarMonthData import com.kizitonwose.calendar.data.getMonthIndex import com.kizitonwose.calendar.data.getMonthIndicesCount +import com.kizitonwose.calendar.log.log import kotlinx.datetime.DayOfWeek /** @@ -218,7 +219,7 @@ public class HeatMapCalendarState internal constructor( private fun getScrollIndex(month: YearMonth): Int? { if (month !in startMonth..endMonth) { - println("CalendarState - Attempting to scroll out of range: $month") + log("HeatMapCalendarState", "Attempting to scroll out of range: $month") return null } return getMonthIndex(startMonth, month) diff --git a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt index 8b4d56dc..92305164 100644 --- a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt +++ b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt @@ -31,6 +31,7 @@ import com.kizitonwose.calendar.data.getWeekCalendarAdjustedRange import com.kizitonwose.calendar.data.getWeekCalendarData import com.kizitonwose.calendar.data.getWeekIndex import com.kizitonwose.calendar.data.getWeekIndicesCount +import com.kizitonwose.calendar.log.log import kotlinx.datetime.DayOfWeek import kotlinx.datetime.LocalDate @@ -259,7 +260,7 @@ public class WeekCalendarState internal constructor( private fun getScrollIndex(date: LocalDate): Int? { if (date !in startDateAdjusted..endDateAdjusted) { - println("WeekCalendarState - Attempting to scroll out of range; $date") + log("WeekCalendarState", "Attempting to scroll out of range: $date") return null } return getWeekIndex(startDateAdjusted, date) diff --git a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/yearcalendar/YearCalendarState.kt b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/yearcalendar/YearCalendarState.kt index 0dd3b554..03f70029 100644 --- a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/yearcalendar/YearCalendarState.kt +++ b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/compose/yearcalendar/YearCalendarState.kt @@ -28,6 +28,7 @@ import com.kizitonwose.calendar.data.checkRange import com.kizitonwose.calendar.data.getCalendarYearData import com.kizitonwose.calendar.data.getYearIndex import com.kizitonwose.calendar.data.getYearIndicesCount +import com.kizitonwose.calendar.log.log import kotlinx.datetime.DayOfWeek /** @@ -248,7 +249,7 @@ public class YearCalendarState internal constructor( private fun getScrollIndex(year: Year): Int? { if (year !in startYear..endYear) { - println("YearCalendarState - Attempting to scroll out of range: $year") + log("YearCalendarState", "Attempting to scroll out of range: $year") return null } return getYearIndex(startYear, year) diff --git a/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/log/Log.kt b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/log/Log.kt new file mode 100644 index 00000000..2f673e76 --- /dev/null +++ b/compose-multiplatform/library/src/commonMain/kotlin/com/kizitonwose/calendar/log/Log.kt @@ -0,0 +1,3 @@ +package com.kizitonwose.calendar.log + +internal expect fun log(tag: String, message: String) diff --git a/compose-multiplatform/library/src/desktopMain/kotlin/com/kizitonwose/calendar/log/Log.desktop.kt b/compose-multiplatform/library/src/desktopMain/kotlin/com/kizitonwose/calendar/log/Log.desktop.kt new file mode 100644 index 00000000..f7beb4b9 --- /dev/null +++ b/compose-multiplatform/library/src/desktopMain/kotlin/com/kizitonwose/calendar/log/Log.desktop.kt @@ -0,0 +1,12 @@ +package com.kizitonwose.calendar.log + +import java.util.logging.Level +import java.util.logging.Logger + +internal actual fun log(tag: String, message: String) { + logger.warning("$tag : $message") +} + +private val logger = Logger.getLogger("Calendar").apply { + level = Level.WARNING +} diff --git a/compose-multiplatform/library/src/iosMain/kotlin/com/kizitonwose/calendar/log/Log.ios.kt b/compose-multiplatform/library/src/iosMain/kotlin/com/kizitonwose/calendar/log/Log.ios.kt new file mode 100644 index 00000000..2e2199f5 --- /dev/null +++ b/compose-multiplatform/library/src/iosMain/kotlin/com/kizitonwose/calendar/log/Log.ios.kt @@ -0,0 +1,7 @@ +package com.kizitonwose.calendar.log + +import platform.Foundation.NSLog + +internal actual fun log(tag: String, message: String) { + NSLog("$tag : $message") +} diff --git a/compose-multiplatform/library/src/wasmJsMain/kotlin/com/kizitonwose/calendar/log/Log.wasmJs.kt b/compose-multiplatform/library/src/wasmJsMain/kotlin/com/kizitonwose/calendar/log/Log.wasmJs.kt new file mode 100644 index 00000000..f8865426 --- /dev/null +++ b/compose-multiplatform/library/src/wasmJsMain/kotlin/com/kizitonwose/calendar/log/Log.wasmJs.kt @@ -0,0 +1,8 @@ +package com.kizitonwose.calendar.log + +internal actual fun log(tag: String, message: String) { + consoleLog("$tag : $message") +} + +@JsFun("(output) => console.log(output)") +private external fun consoleLog(vararg output: String?)