mirror of
				https://github.com/InsanusMokrassar/KSLog.git
				synced 2025-10-31 03:20:04 +00:00 
			
		
		
		
	Compare commits
	
		
			13 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 785ab59519 | |||
| a4f2562690 | |||
| 777ae44da5 | |||
| 28d61a7b7c | |||
| 66c5451293 | |||
| 77ca9ce25b | |||
| 194e52f521 | |||
| 34ea0bd91a | |||
| 3ff5d989b7 | |||
| 0e01534562 | |||
| 35e3d02837 | |||
| b255406dba | |||
| 88fa4e3c09 | 
							
								
								
									
										13
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,7 +1,20 @@ | |||||||
| # Changelog | # Changelog | ||||||
|  |  | ||||||
|  | ## 0.5.0 | ||||||
|  |  | ||||||
|  | * `Kotlin`: `1.7.10` | ||||||
|  |  | ||||||
|  | ## 0.4.2 | ||||||
|  |  | ||||||
|  | * Add `setDefaultKSLog` and `addDefaultKSLog` | ||||||
|  | * Add `plus` operation for two `KSLog` instances to call them both on each log performing | ||||||
|  | * Add `KSLog` factory for simple creation of `CallbackKSLog` | ||||||
|  | * Add `MessageFormatter` factory | ||||||
|  |  | ||||||
| ## 0.4.1 | ## 0.4.1 | ||||||
|  |  | ||||||
|  | * Fixes in resolution ambiguity for functions with messages | ||||||
|  |  | ||||||
| ## 0.4.0 | ## 0.4.0 | ||||||
|  |  | ||||||
| **THIS UPDATE CONTAINS BREAKING CHANGES** | **THIS UPDATE CONTAINS BREAKING CHANGES** | ||||||
|   | |||||||
| @@ -9,5 +9,5 @@ android.enableJetifier=true | |||||||
| # Project data | # Project data | ||||||
|  |  | ||||||
| group=dev.inmo | group=dev.inmo | ||||||
| version=0.4.1 | version=0.5.0 | ||||||
| android_code_version=11 | android_code_version=13 | ||||||
|   | |||||||
| @@ -1,12 +1,12 @@ | |||||||
| [versions] | [versions] | ||||||
|  |  | ||||||
| kotlin = "1.6.21" | kotlin = "1.7.10" | ||||||
| kotlin-gradle-plugin = "7.0.4" | kotlin-gradle-plugin = "7.2.2" | ||||||
|  |  | ||||||
| dexcount = "3.1.0" | dexcount = "3.1.0" | ||||||
| junit_version = "4.12" | junit_version = "4.12" | ||||||
| test_ext_junit_version = "1.1.2" | test_ext_junit_version = "1.1.3" | ||||||
| espresso_core = "3.3.0" | espresso_core = "3.4.0" | ||||||
|  |  | ||||||
| android-minSdk = "21" | android-minSdk = "21" | ||||||
| android-compileSdk = "32" | android-compileSdk = "32" | ||||||
|   | |||||||
| @@ -7,3 +7,7 @@ class CallbackKSLog( | |||||||
| ) : KSLog { | ) : KSLog { | ||||||
|     override fun performLog(level: LogLevel, tag: String?, message: Any, throwable: Throwable?) = performLogCallback(level, tag, message, throwable) |     override fun performLog(level: LogLevel, tag: String?, message: Any, throwable: Throwable?) = performLogCallback(level, tag, message, throwable) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | fun KSLog( | ||||||
|  |     performLogCallback: SimpleKSLogCallback | ||||||
|  | ) = CallbackKSLog(performLogCallback) | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| package dev.inmo.kslog.common | package dev.inmo.kslog.common | ||||||
|  |  | ||||||
| import dev.inmo.kslog.common.filter.filtered | import dev.inmo.kslog.common.filter.filtered | ||||||
|  | import dev.inmo.kslog.common.utils.plus | ||||||
|  |  | ||||||
|  |  | ||||||
| enum class LogLevel { | enum class LogLevel { | ||||||
| @@ -110,3 +111,6 @@ fun KSLog( | |||||||
| ).filtered { l, _, _ -> | ).filtered { l, _, _ -> | ||||||
|     minLoggingLevel.ordinal <= l.ordinal |     minLoggingLevel.ordinal <= l.ordinal | ||||||
| } | } | ||||||
|  |  | ||||||
|  | fun setDefaultKSLog(newDefault: KSLog) { KSLog.default = newDefault } | ||||||
|  | fun addDefaultKSLog(newDefault: KSLog) { KSLog.default = KSLog.default + newDefault } | ||||||
|   | |||||||
| @@ -1,6 +1,8 @@ | |||||||
| package dev.inmo.kslog.common | package dev.inmo.kslog.common | ||||||
|  |  | ||||||
| typealias MessageFormatter = (l: LogLevel, t: String, m: Any, Throwable?) -> String | typealias MessageFormatter = (l: LogLevel, t: String?, m: Any, Throwable?) -> String | ||||||
|  | @Suppress("NOTHING_TO_INLINE") | ||||||
|  | inline fun MessageFormatter(noinline formatter: MessageFormatter) = formatter | ||||||
| typealias MessageFilter = (l: LogLevel, t: String?, Throwable?) -> Boolean | typealias MessageFilter = (l: LogLevel, t: String?, Throwable?) -> Boolean | ||||||
| val defaultMessageFormatter: MessageFormatter = { l, t, m, _ -> "[$l] $t - $m" } | val defaultMessageFormatter: MessageFormatter = { l, t, m, _ -> "[$l] ${t ?.let { "$it " } ?: ""}- $m" } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								src/commonMain/kotlin/utils/Combination.kt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/commonMain/kotlin/utils/Combination.kt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | |||||||
|  | package dev.inmo.kslog.common.utils | ||||||
|  |  | ||||||
|  | import dev.inmo.kslog.common.CallbackKSLog | ||||||
|  | import dev.inmo.kslog.common.KSLog | ||||||
|  |  | ||||||
|  | infix operator fun KSLog.plus(other: KSLog) = CallbackKSLog { l, t, m, e -> | ||||||
|  |     val resultOfFirst = runCatching { | ||||||
|  |         this@plus.performLog(l, t, m, e) | ||||||
|  |     } | ||||||
|  |     val resultOfSecond = runCatching { | ||||||
|  |         other.performLog(l, t, m, e) | ||||||
|  |     } | ||||||
|  |     resultOfFirst.onFailure { throw it } | ||||||
|  |     resultOfSecond.onFailure { throw it } | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user