diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/YukiReflection.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/YukiReflection.kt index d81dd64..a74d8ec 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/YukiReflection.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/YukiReflection.kt @@ -25,12 +25,13 @@ * * This file is created by fankes on 2023/1/21. */ -@file:Suppress("unused") +@file:Suppress("unused", "MemberVisibilityCanBePrivate", "NON_PUBLIC_CALL_FROM_PUBLIC_INLINE") package com.highcapable.yukireflection import com.highcapable.yukireflection.YukiReflection.Configs import com.highcapable.yukireflection.generated.YukiReflectionProperties +import com.highcapable.yukireflection.log.YLog import java.lang.reflect.Member /** @@ -71,14 +72,24 @@ object YukiReflection { */ object Configs { + /** + * 配置 [YLog.Configs] 相关参数 + * @param initiate 方法体 + */ + inline fun debugLog(initiate: YLog.Configs.() -> Unit) = YLog.Configs.apply(initiate).build() + /** * 这是一个调试日志的全局标识 * - * 默认文案为 [TAG] + * - 此方法已弃用 - 在之后的版本中将直接被删除 * - * 你可以修改为你自己的文案 + * - 请现在迁移到 [debugLog] 并使用 [YLog.Configs.tag] */ - var debugTag = TAG + @Deprecated(message = "请使用新方式来实现此功能") + var debugTag get() = YLog.Configs.tag + set(value) { + YLog.Configs.tag = value + } /** * 是否开启调试模式 - 默认不启用 @@ -89,24 +100,17 @@ object YukiReflection { */ var isDebug = false - /** - * 是否启用调试日志的输出功能 - * - * - 关闭后将会停用 [YukiReflection] 对全部日志的输出 - 同时 [isDebug] 将不再有效 - */ - var isEnableLogs = true - /** * 是否启用调试日志的输出功能 * * - 此方法已弃用 - 在之后的版本中将直接被删除 * - * - 请现在迁移到 [isEnableLogs] + * - 请现在迁移到 [debugLog] 并使用 [YLog.Configs.isEnable] */ - @Deprecated(message = "请使用新方式来实现此功能", ReplaceWith("isEnableLogs")) - var isAllowPrintingLogs get() = isEnableLogs + @Deprecated(message = "请使用新方式来实现此功能") + var isAllowPrintingLogs get() = YLog.Configs.isEnable set(value) { - isEnableLogs = value + YLog.Configs.isEnable = value } /** @@ -118,13 +122,14 @@ object YukiReflection { */ @Deprecated(message = "此方法及功能已被移除,请删除此方法") var isEnableMemberCache = false + + /** 结束方法体 */ + internal fun build() = Unit } /** * 配置 [YukiReflection] 相关参数 * @param initiate 方法体 */ - inline fun configs(initiate: Configs.() -> Unit) { - Configs.apply(initiate) - } + inline fun configs(initiate: Configs.() -> Unit) = Configs.apply(initiate).build() } \ No newline at end of file diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/ClassBaseFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/ClassBaseFinder.kt index 7f8b85f..530953b 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/ClassBaseFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/ClassBaseFinder.kt @@ -29,7 +29,7 @@ package com.highcapable.yukireflection.finder.base import com.highcapable.yukireflection.YukiReflection -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog /** * 这是 [Class] 查找类功能的基本类实现 diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/MemberBaseFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/MemberBaseFinder.kt index 8680320..e8b5c47 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/MemberBaseFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/base/MemberBaseFinder.kt @@ -31,7 +31,7 @@ package com.highcapable.yukireflection.finder.base import com.highcapable.yukireflection.YukiReflection -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.await import java.lang.reflect.Constructor import java.lang.reflect.Field diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/classes/DexClassFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/classes/DexClassFinder.kt index 93ae05d..6a297c5 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/classes/DexClassFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/classes/DexClassFinder.kt @@ -47,7 +47,7 @@ import com.highcapable.yukireflection.finder.classes.rules.result.MemberRulesRes import com.highcapable.yukireflection.finder.tools.ReflectionTool import com.highcapable.yukireflection.finder.type.factory.ModifierConditions import com.highcapable.yukireflection.finder.type.factory.NameConditions -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.await import com.highcapable.yukireflection.utils.factory.runBlocking import dalvik.system.BaseDexClassLoader diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/ConstructorFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/ConstructorFinder.kt index 1504fb6..e5558e5 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/ConstructorFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/ConstructorFinder.kt @@ -42,7 +42,7 @@ import com.highcapable.yukireflection.finder.type.factory.ModifierConditions import com.highcapable.yukireflection.finder.type.factory.ObjectsConditions import com.highcapable.yukireflection.type.defined.UndefinedType import com.highcapable.yukireflection.type.defined.VagueType -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.runBlocking import java.lang.reflect.Constructor diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/FieldFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/FieldFinder.kt index 1326153..da9ad29 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/FieldFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/FieldFinder.kt @@ -42,7 +42,7 @@ import com.highcapable.yukireflection.finder.type.factory.FieldConditions import com.highcapable.yukireflection.finder.type.factory.ModifierConditions import com.highcapable.yukireflection.finder.type.factory.NameConditions import com.highcapable.yukireflection.finder.type.factory.ObjectConditions -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.runBlocking import java.lang.reflect.Field diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/MethodFinder.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/MethodFinder.kt index 13ba28c..f1c606c 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/MethodFinder.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/members/MethodFinder.kt @@ -44,7 +44,7 @@ import com.highcapable.yukireflection.finder.type.factory.ObjectConditions import com.highcapable.yukireflection.finder.type.factory.ObjectsConditions import com.highcapable.yukireflection.type.defined.UndefinedType import com.highcapable.yukireflection.type.defined.VagueType -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.runBlocking import java.lang.reflect.Method diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/tools/ReflectionTool.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/tools/ReflectionTool.kt index f97c1b1..0c09b06 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/tools/ReflectionTool.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/finder/tools/ReflectionTool.kt @@ -49,7 +49,7 @@ import com.highcapable.yukireflection.type.java.DalvikBaseDexClassLoader import com.highcapable.yukireflection.type.java.NoClassDefFoundErrorClass import com.highcapable.yukireflection.type.java.NoSuchFieldErrorClass import com.highcapable.yukireflection.type.java.NoSuchMethodErrorClass -import com.highcapable.yukireflection.utils.debug.YLog +import com.highcapable.yukireflection.log.YLog import com.highcapable.yukireflection.utils.factory.conditions import com.highcapable.yukireflection.utils.factory.findLastIndex import com.highcapable.yukireflection.utils.factory.lastIndex diff --git a/yukireflection-core/src/main/java/com/highcapable/yukireflection/utils/debug/YLog.kt b/yukireflection-core/src/main/java/com/highcapable/yukireflection/log/YLog.kt similarity index 72% rename from yukireflection-core/src/main/java/com/highcapable/yukireflection/utils/debug/YLog.kt rename to yukireflection-core/src/main/java/com/highcapable/yukireflection/log/YLog.kt index 90eaea8..4f3de93 100644 --- a/yukireflection-core/src/main/java/com/highcapable/yukireflection/utils/debug/YLog.kt +++ b/yukireflection-core/src/main/java/com/highcapable/yukireflection/log/YLog.kt @@ -27,7 +27,7 @@ */ @file:Suppress("unused") -package com.highcapable.yukireflection.utils.debug +package com.highcapable.yukireflection.log import android.util.Log import com.highcapable.yukireflection.YukiReflection @@ -37,19 +37,34 @@ import com.highcapable.yukireflection.utils.factory.dumpToString /** * 全局 Log 管理类 */ -internal object YLog { +object YLog { /** - * 是否启用 - * @return [Boolean] + * 配置 [YLog] */ - private val isEnable get() = YukiReflection.Configs.isEnableLogs + object Configs { - /** - * Log 标签 - * @return [String] - */ - private val tag get() = YukiReflection.Configs.debugTag + /** + * 这是一个调试日志的全局标识 + * + * 默认文案为 [YukiReflection.TAG] + * + * 你可以修改为你自己的文案 + */ + var tag = YukiReflection.TAG + + /** + * 是否启用调试日志的输出功能 - 默认启用 + * + * - 关闭后将会停用 [YukiReflection] 对全部日志的输出 + * + * 当 [isEnable] 关闭后 [YukiReflection.Configs.isDebug] 也将同时关闭 + */ + var isEnable = true + + /** 结束方法体 */ + internal fun build() = Unit + } /** * 打印 Debug 级别 Log @@ -57,7 +72,7 @@ internal object YLog { * @param e 异常堆栈 - 默认空 */ internal fun debug(msg: String, e: Throwable? = null) { - if (isEnable) log(Type.DEBUG, msg, e) + if (Configs.isEnable) log(Type.DEBUG, msg, e) } /** @@ -66,7 +81,7 @@ internal object YLog { * @param e 异常堆栈 - 默认空 */ internal fun info(msg: String, e: Throwable? = null) { - if (isEnable) log(Type.INFO, msg, e) + if (Configs.isEnable) log(Type.INFO, msg, e) } /** @@ -75,7 +90,7 @@ internal object YLog { * @param e 异常堆栈 - 默认空 */ internal fun warn(msg: String, e: Throwable? = null) { - if (isEnable) log(Type.WARN, msg, e) + if (Configs.isEnable) log(Type.WARN, msg, e) } /** @@ -84,7 +99,7 @@ internal object YLog { * @param e 异常堆栈 - 默认空 */ internal fun error(msg: String, e: Throwable? = null) { - if (isEnable) log(Type.ERROR, msg, e) + if (Configs.isEnable) log(Type.ERROR, msg, e) } /** @@ -95,7 +110,7 @@ internal object YLog { */ private fun log(type: Type, msg: String, e: Throwable? = null) { val isAndroid = "android.util.Log".hasClass() - val mixedContent = "[$tag][${type.alias}] $msg" + val mixedContent = "[${Configs.tag}][${type.alias}] $msg" /** * 打印 Log @@ -104,10 +119,10 @@ internal object YLog { fun innerLog(msg: String) { when { isAndroid -> when (type) { - Type.DEBUG -> Log.d(tag, msg, e) - Type.INFO -> Log.i(tag, msg, e) - Type.WARN -> Log.w(tag, msg, e) - Type.ERROR -> Log.e(tag, msg, e) + Type.DEBUG -> Log.d(Configs.tag, msg, e) + Type.INFO -> Log.i(Configs.tag, msg, e) + Type.WARN -> Log.w(Configs.tag, msg, e) + Type.ERROR -> Log.e(Configs.tag, msg, e) } type.color.isBlank() -> println(mixedContent) else -> println("\u001B[${type.color}m$mixedContent\u001B[0m")