diff --git a/docs-source/src/.vuepress/configs/template.ts b/docs-source/src/.vuepress/configs/template.ts
index a1c7a9b8..25230908 100644
--- a/docs-source/src/.vuepress/configs/template.ts
+++ b/docs-source/src/.vuepress/configs/template.ts
@@ -50,7 +50,8 @@ const navigationLinks = {
baseApiPath + 'hook/type/android/ViewTypeFactory',
baseApiPath + 'hook/type/java/VariableTypeFactory',
baseApiPath + 'hook/type/defined/DefinedTypeFactory',
- baseApiPath + 'hook/log/LoggerFactory',
+ baseApiPath + 'hook/log/YLog',
+ baseApiPath + 'hook/log/data/YLogData',
baseApiPath + 'hook/factory/ReflectionFactory',
baseApiPath + 'hook/factory/YukiHookFactory',
baseApiPath + 'hook/entity/YukiBaseHooker',
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
index 9615d178..68b2c358 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
@@ -377,7 +377,7 @@ object Configs
### debugLog - method
```kotlin:no-line-numbers
-inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
+inline fun debugLog(initiate: YLog.Configs.() -> Unit)
```
**Change Records**
@@ -386,7 +386,7 @@ inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
**Function Illustrate**
-> 配置 `YukiHookLogger.Configs` 相关参数。
+> 配置 `YLog.Configs` 相关参数。
debugTag - field
@@ -396,7 +396,7 @@ inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
`v1.1.0` `deprecated`
-请迁移到 `YukiHookLogger.Configs.tag`
+请迁移到 `YLog.Configs.tag`
### isDebug - field
@@ -422,7 +422,7 @@ var isDebug: Boolean
`v1.1.0` `deprecated`
-请迁移到 `YukiHookLogger.Configs.isEnable`
+请迁移到 `YLog.Configs.isEnable`
isEnableModulePrefsCache - field
@@ -628,14 +628,14 @@ object HookEntry : IYukiHookXposedInit {
object HookEntry : IYukiHookXposedInit {
override fun onInit() {
- YukiHookLogger.Configs.tag = "YukiHookAPI"
- YukiHookLogger.Configs.isEnable = true
- YukiHookLogger.Configs.isRecord = false
- YukiHookLogger.Configs.elements(
- YukiHookLogger.Configs.TAG,
- YukiHookLogger.Configs.PRIORITY,
- YukiHookLogger.Configs.PACKAGE_NAME,
- YukiHookLogger.Configs.USER_ID
+ YLog.Configs.tag = "YukiHookAPI"
+ YLog.Configs.isEnable = true
+ YLog.Configs.isRecord = false
+ YLog.Configs.elements(
+ YLog.Configs.TAG,
+ YLog.Configs.PRIORITY,
+ YLog.Configs.PACKAGE_NAME,
+ YLog.Configs.USER_ID
)
YukiHookAPI.Configs.isDebug = BuildConfig.DEBUG
YukiHookAPI.Configs.isEnableModuleAppResourcesCache = true
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
similarity index 58%
rename from docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md
rename to docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
index a8b15bca..2562f051 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
@@ -10,29 +10,391 @@ You can use the **Chrome Translation Plugin** to translate entire pages for refe
:::
-# LoggerFactory - kt
-
-**Change Records**
-
-`v1.0` `first`
-
-**Function Illustrate**
-
-> 这是 `YukiHookAPI` 的日志封装类,可实现同时向 `Logcat` 和 (Xposed) 宿主环境打印日志的功能。
-
-## LoggerType - class
+# YLog - object
```kotlin:no-line-numbers
-enum class LoggerType
+object YLog
```
**Change Records**
-`v1.1.0` `added`
+`v1.2.0` `added`
**Function Illustrate**
-> 需要打印的日志类型。
+> 全局 Log 管理类。
+
+## inMemoryData - field
+
+```kotlin:no-line-numbers
+val inMemoryData: MutableList
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 当前全部已记录的日志数据。
+
+::: danger
+
+获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
+
+:::
+
+## contents - field
+
+```kotlin:no-line-numbers
+val contents: String
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 获取当前日志文件内容。
+
+如果当前没有已记录的日志会返回空字符串。
+
+::: danger
+
+获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
+
+:::
+
+## contents - method
+
+```kotlin:no-line-numbers
+fun contents(data: List): String
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 获取、格式化当前日志文件内容。
+
+如果当前没有已记录的日志 (`data` 为空) 会返回空字符串。
+
+::: danger
+
+获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
+
+:::
+
+## clear - method
+
+```kotlin:no-line-numbers
+fun clear()
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 清除全部已记录的日志。
+
+你也可以直接获取 [inMemoryData](#inmemorydata-field) 来清除。
+
+::: danger
+
+获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
+
+:::
+
+## saveToFile - method
+
+```kotlin:no-line-numbers
+fun saveToFile(fileName: String, data: List)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 保存当前日志到文件。
+
+若当前未开启 `Configs.isRecord` 或记录为空则不会进行任何操作。
+
+日志文件会追加到 `fileName` 的文件结尾,若文件不存在会自动创建。
+
+::: danger
+
+文件读写权限取决于当前宿主、模块已获取的权限。
+
+:::
+
+## Configs - object
+
+```kotlin:no-line-numbers
+object Configs
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 配置 `YLog`。
+
+### TAG - field
+
+```kotlin:no-line-numbers
+const val TAG: Int
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 标签。
+
+### PRIORITY - field
+
+```kotlin:no-line-numbers
+const val PRIORITY: Int
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 优先级。
+
+### PACKAGE_NAME - field
+
+```kotlin:no-line-numbers
+const val PACKAGE_NAME: Int
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 当前宿主的包名。
+
+### USER_ID - field
+
+```kotlin:no-line-numbers
+const val USER_ID: Int
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 当前宿主的用户 ID (主用户不显示)。
+
+### tag - field
+
+```kotlin:no-line-numbers
+var tag: String
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 这是一个调试日志的全局标识。
+
+默认文案为 `YukiHookAPI`。
+
+你可以修改为你自己的文案。
+
+### isEnable - field
+
+```kotlin:no-line-numbers
+var isEnable: Boolean
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 是否启用调试日志的输出功能。
+
+关闭后将会停用 `YukiHookAPI` 对全部日志的输出。
+
+但是不影响当你手动调用下面这些方法输出日志。
+
+`debug`、`info`、`warn`、`error`。
+
+当 `isEnable` 关闭后 `YukiHookAPI.Configs.isDebug` 也将同时关闭。
+
+### isRecord - field
+
+```kotlin:no-line-numbers
+var isRecord: Boolean
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 是否启用调试日志的记录功能。
+
+开启后将会在内存中记录全部可用的日志和异常堆栈。
+
+需要同时启用 [isEnable](#isenable-field) 才能有效。
+
+::: danger
+
+过量的日志可能会导致宿主运行缓慢或造成频繁 GC。
+
+:::
+
+开启后你可以调用 [YLog.saveToFile](#savetofile-method) 实时保存日志到文件或使用 [YLog.contents](#contents-field) 获取实时日志文件。
+
+### elements - method
+
+```kotlin:no-line-numbers
+fun elements(vararg item: Int)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 自定义调试日志对外显示的元素。
+
+只对日志记录和 (Xposed) 宿主环境的日志生效。
+
+日志元素的排列将按照你在 `item` 中设置的顺序进行显示。
+
+你还可以留空 `item` 以不显示除日志内容外的全部元素。
+
+可用的元素有:`TAG`、`PRIORITY`、`PACKAGE_NAME`、`USER_ID`。
+
+**功能示例**
+
+打印的日志样式将按照你设置的排列顺序和元素内容进行。
+
+> 示例如下
+
+```kotlin
+elements(TAG, PRIORITY, PACKAGE_NAME, USER_ID)
+```
+
+以上内容定义的日志将显示为如下样式。
+
+> 示例如下
+
+```:no-line-numbers
+[YukiHookAPI][D][com.demo.test][999]--> This is a log
+```
+
+如果我们调整元素顺序以及减少个数,那么结果又会不一样。
+
+> 示例如下
+
+```kotlin
+elements(PACKAGE_NAME, USER_ID, PRIORITY)
+```
+
+以上内容定义的日志将显示为如下样式。
+
+> 示例如下
+
+```:no-line-numbers
+[com.demo.test][999][D]--> This is a log
+```
+
+## debug - method
+
+```kotlin:no-line-numbers
+fun debug(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 打印 Debug 级别 Log。
+
+## info - method
+
+```kotlin:no-line-numbers
+fun info(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 打印 Info 级别 Log。
+
+## warn - method
+
+```kotlin:no-line-numbers
+fun warn(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 打印 Warn 级别 Log。
+
+## error - method
+
+```kotlin:no-line-numbers
+fun error(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 打印 Error 级别 Log。
+
+## EnvType - class
+
+```kotlin:no-line-numbers
+enum class EnvType
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 需要打印的日志环境类型。
决定于模块与 (Xposed) 宿主环境使用的打印方式。
@@ -44,22 +406,12 @@ LOGD
**Change Records**
-`v1.1.0` `added`
+`v1.2.0` `added`
**Function Illustrate**
> 仅使用 `android.util.Log`。
-XPOSEDBRIDGE - enum
-
-**Change Records**
-
-`v1.1.0` `added`
-
-`v1.1.5` `deprecated`
-
-请迁移到 `XPOSED_ENVIRONMENT`
-
### XPOSED_ENVIRONMENT - enum
```kotlin:no-line-numbers
@@ -68,7 +420,7 @@ XPOSED_ENVIRONMENT
**Change Records**
-`v1.1.5` `added`
+`v1.2.0` `added`
**Function Illustrate**
@@ -88,7 +440,7 @@ SCOPE
**Change Records**
-`v1.1.0` `added`
+`v1.2.0` `added`
**Function Illustrate**
@@ -106,7 +458,7 @@ BOTH
**Change Records**
-`v1.1.0` `added`
+`v1.2.0` `added`
**Function Illustrate**
@@ -116,433 +468,12 @@ BOTH
模块环境仅使用 `LOGD`。
-## YukiLoggerData - class
-
-```kotlin:no-line-numbers
-data class YukiLoggerData internal constructor(
- var timestamp: Long,
- var time: String,
- var tag: String,
- var priority: String,
- var packageName: String,
- var userId: Int,
- var msg: String,
- var throwable: Throwable?
-) : Serializable
-```
-
-**Change Records**
-
-`v1.1.2` `added`
-
-`v1.1.4` `modified`
-
-实现 `Serializable` 接口并标识为 `data class`
-
-**Function Illustrate**
-
-> 调试日志数据实现类。
-
-## YukiHookLogger - object
-
-```kotlin:no-line-numbers
-object YukiHookLogger
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 调试日志实现类。
-
-### inMemoryData - field
-
-```kotlin:no-line-numbers
-val inMemoryData: ArrayList
-```
-
-**Change Records**
-
-`v1.1.2` `added`
-
-`v1.1.4` `modified`
-
-类型由 `HashSet` 修改为 `ArrayList`
-
-**Function Illustrate**
-
-> 当前全部已记录的日志数据。
-
-::: danger
-
-获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
-
-:::
-
-### contents - field
-
-```kotlin:no-line-numbers
-val contents: String
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 获取当前日志文件内容。
-
-如果当前没有已记录的日志会返回空字符串。
-
-::: danger
-
-获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
-
-:::
-
-### contents - method
-
-```kotlin:no-line-numbers
-fun contents(data: ArrayList): String
-```
-
-**Change Records**
-
-`v1.1.5` `added`
-
-**Function Illustrate**
-
-> 获取、格式化当前日志文件内容。
-
-如果当前没有已记录的日志 (`data` 为空) 会返回空字符串。
-
-::: danger
-
-获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
-
-:::
-
-### clear - method
-
-```kotlin:no-line-numbers
-fun clear()
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 清除全部已记录的日志。
-
-::: danger
-
-获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
-
-:::
-
-你也可以直接获取 [inMemoryData](#inmemorydata-field) 来清除。
-
-### saveToFile - method
-
-```kotlin:no-line-numbers
-fun saveToFile(fileName: String, data: ArrayList)
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-`v1.1.5` `modified`
-
-新增 `data` 参数
-
-**Function Illustrate**
-
-> 保存当前日志到文件。
-
-若当前未开启 `Configs.isRecord` 或记录为空则不会进行任何操作。
-
-日志文件会追加到 `fileName` 的文件结尾,若文件不存在会自动创建。
-
-::: danger
-
-文件读写权限取决于当前宿主、模块已获取的权限。
-
-:::
-
-### Configs - object
-
-```kotlin:no-line-numbers
-object Configs
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 配置 `YukiHookLogger`。
-
-#### TAG - field
-
-```kotlin:no-line-numbers
-const val TAG: Int
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 标签。
-
-#### PRIORITY - field
-
-```kotlin:no-line-numbers
-const val PRIORITY: Int
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 优先级。
-
-#### PACKAGE_NAME - field
-
-```kotlin:no-line-numbers
-const val PACKAGE_NAME: Int
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 当前宿主的包名。
-
-#### USER_ID - field
-
-```kotlin:no-line-numbers
-const val USER_ID: Int
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 当前宿主的用户 ID (主用户不显示)。
-
-#### isEnable - field
-
-```kotlin:no-line-numbers
-var isEnable: Boolean
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 是否启用调试日志的输出功能。
-
-关闭后将会停用 `YukiHookAPI` 对全部日志的输出。
-
-但是不影响当你手动调用下面这些方法输出日志。
-
-`loggerD`、`loggerI`、`loggerW`、`loggerE`。
-
-当 `isEnable` 关闭后 `YukiHookAPI.Configs.isDebug` 也将同时关闭。
-
-#### isRecord - field
-
-```kotlin:no-line-numbers
-var isRecord: Boolean
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 是否启用调试日志的记录功能。
-
-开启后将会在内存中记录全部可用的日志和异常堆栈。
-
-需要同时启用 [isEnable](#isenable-field) 才能有效。
-
-::: danger
-
-过量的日志可能会导致宿主运行缓慢或造成频繁 GC。
-
-:::
-
-开启后你可以调用 [YukiHookLogger.saveToFile](#savetofile-method) 实时保存日志到文件或使用 [YukiHookLogger.contents](#contents-field) 获取实时日志文件。
-
-#### tag - field
-
-```kotlin:no-line-numbers
-var tag: String
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 这是一个调试日志的全局标识。
-
-默认文案为 `YukiHookAPI`。
-
-你可以修改为你自己的文案。
-
-#### elements - method
-
-```kotlin:no-line-numbers
-fun elements(vararg item: Int)
-```
-
-**Change Records**
-
-`v1.1.0` `added`
-
-**Function Illustrate**
-
-> 自定义调试日志对外显示的元素。
-
-只对日志记录和 (Xposed) 宿主环境的日志生效。
-
-日志元素的排列将按照你在 `item` 中设置的顺序进行显示。
-
-你还可以留空 `item` 以不显示除日志内容外的全部元素。
-
-可用的元素有:`TAG`、`PRIORITY`、`PACKAGE_NAME`、`USER_ID`。
-
-**Function Example**
-
-打印的日志样式将按照你设置的排列顺序和元素内容进行。
-
-> The following example
-
-```kotlin
-elements(TAG, PRIORITY, PACKAGE_NAME, USER_ID)
-```
-
-以上内容定义的日志将显示为如下样式。
-
-> The following example
-
-```:no-line-numbers
-[YukiHookAPI][D][com.demo.test][999]--> This is a log
-```
-
-如果我们调整元素顺序以及减少个数,那么结果又会不一样。
-
-> The following example
-
-```kotlin
-elements(PACKAGE_NAME, USER_ID, PRIORITY)
-```
-
-以上内容定义的日志将显示为如下样式。
-
-> The following example
-
-```:no-line-numbers
-[com.demo.test][999][D]--> This is a log
-```
-
-## loggerD - method
-
-```kotlin:no-line-numbers
-fun loggerD(tag: String, msg: String, type: LoggerType)
-```
+LoggerFactory - kt
**Change Records**
`v1.0` `first`
-`v1.1.0` `modified`
+`v1.2.0` `deprecated`
-新增 `type` 参数
-
-**Function Illustrate**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `D`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerI - method
-
-```kotlin:no-line-numbers
-fun loggerI(tag: String, msg: String, type: LoggerType)
-```
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `modified`
-
-新增 `type` 参数
-
-**Function Illustrate**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `I`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerW - method
-
-```kotlin:no-line-numbers
-fun loggerW(tag: String, msg: String, type: LoggerType)
-```
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `modified`
-
-新增 `type` 参数
-
-**Function Illustrate**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `W`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerE - method
-
-```kotlin:no-line-numbers
-fun loggerE(tag: String, msg: String, e: Throwable?, type: LoggerType)
-```
-
-**Change Records**
-
-`v1.0` `first`
-
-`v1.1.0` `modified`
-
-新增 `type` 参数
-
-**Function Illustrate**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `E`,可携带 `e` 异常信息,将打印异常堆栈。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
\ No newline at end of file
+请迁移到 `YLog`
\ No newline at end of file
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md
new file mode 100644
index 00000000..e282b260
--- /dev/null
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md
@@ -0,0 +1,34 @@
+---
+pageClass: code-page
+---
+
+::: warning
+
+The English translation of this page has not been completed, you are welcome to contribute translations to us.
+
+You can use the **Chrome Translation Plugin** to translate entire pages for reference.
+
+:::
+
+# YLogData - class
+
+```kotlin:no-line-numbers
+data class YLogData internal constructor(
+ var timestamp: Long,
+ var time: String,
+ var tag: String,
+ var priority: String,
+ var packageName: String,
+ var userId: Int,
+ var msg: String,
+ var throwable: Throwable?
+) : Serializable
+```
+
+**Change Records**
+
+`v1.2.0` `added`
+
+**Function Illustrate**
+
+> 调试日志数据实现类。
\ No newline at end of file
diff --git a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
index ec8b038e..529021d9 100644
--- a/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
+++ b/docs-source/src/en/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
@@ -259,7 +259,7 @@ fun checkingVersionEquals(priority: ChannelPriority?, result: (Boolean) -> Unit)
### obtainLoggerInMemoryData - method
```kotlin:no-line-numbers
-fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (ArrayList) -> Unit)
+fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (List) -> Unit)
```
**Change Records**
@@ -272,13 +272,13 @@ fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (ArrayList 获取模块与宿主之间的 `ArrayList` 数据。
+> 获取模块与宿主之间的 `List` 数据。
由于模块与宿主处于不同的进程,我们可以使用数据通讯桥访问各自的调试日志数据。
::: danger
-模块与宿主必须启用 [YukiHookLogger.Configs.isRecord](../../log/LoggerFactory#isrecord-field) 才能获取到调试日志数据。
+模块与宿主必须启用 [YLog.Configs.isRecord](../../log/YLog#isrecord-field) 才能获取到调试日志数据。
由于 Android 限制了数据传输大小的最大值,如果调试日志过多将会自动进行分段发送,数据越大速度越慢。
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/YukiHookAPI.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
index 5ef39db9..d5fdb12b 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/YukiHookAPI.md
@@ -369,7 +369,7 @@ object Configs
### debugLog - method
```kotlin:no-line-numbers
-inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
+inline fun debugLog(initiate: YLog.Configs.() -> Unit)
```
**变更记录**
@@ -378,7 +378,7 @@ inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
**功能描述**
-> 配置 `YukiHookLogger.Configs` 相关参数。
+> 配置 `YLog.Configs` 相关参数。
debugTag - field
@@ -388,7 +388,7 @@ inline fun debugLog(initiate: YukiHookLogger.Configs.() -> Unit)
`v1.1.0` `作废`
-请迁移到 `YukiHookLogger.Configs.tag`
+请迁移到 `YLog.Configs.tag`
### isDebug - field
@@ -414,7 +414,7 @@ var isDebug: Boolean
`v1.1.0` `作废`
-请迁移到 `YukiHookLogger.Configs.isEnable`
+请迁移到 `YLog.Configs.isEnable`
isEnableModulePrefsCache - field
@@ -620,14 +620,14 @@ object HookEntry : IYukiHookXposedInit {
object HookEntry : IYukiHookXposedInit {
override fun onInit() {
- YukiHookLogger.Configs.tag = "YukiHookAPI"
- YukiHookLogger.Configs.isEnable = true
- YukiHookLogger.Configs.isRecord = false
- YukiHookLogger.Configs.elements(
- YukiHookLogger.Configs.TAG,
- YukiHookLogger.Configs.PRIORITY,
- YukiHookLogger.Configs.PACKAGE_NAME,
- YukiHookLogger.Configs.USER_ID
+ YLog.Configs.tag = "YukiHookAPI"
+ YLog.Configs.isEnable = true
+ YLog.Configs.isRecord = false
+ YLog.Configs.elements(
+ YLog.Configs.TAG,
+ YLog.Configs.PRIORITY,
+ YLog.Configs.PACKAGE_NAME,
+ YLog.Configs.USER_ID
)
YukiHookAPI.Configs.isDebug = BuildConfig.DEBUG
YukiHookAPI.Configs.isEnableModuleAppResourcesCache = true
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
similarity index 58%
rename from docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md
rename to docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
index 4b18e3bb..0716b436 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/LoggerFactory.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/YLog.md
@@ -2,166 +2,29 @@
pageClass: code-page
---
-# LoggerFactory - kt
-
-**变更记录**
-
-`v1.0` `添加`
-
-**功能描述**
-
-> 这是 `YukiHookAPI` 的日志封装类,可实现同时向 `Logcat` 和 (Xposed) 宿主环境打印日志的功能。
-
-## LoggerType - class
+# YLog - object
```kotlin:no-line-numbers
-enum class LoggerType
+object YLog
```
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
-> 需要打印的日志类型。
+> 全局 Log 管理类。
-决定于模块与 (Xposed) 宿主环境使用的打印方式。
-
-### LOGD - enum
+## inMemoryData - field
```kotlin:no-line-numbers
-LOGD
+val inMemoryData: MutableList
```
**变更记录**
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 仅使用 `android.util.Log`。
-
-XPOSEDBRIDGE - enum
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-`v1.1.5` `作废`
-
-请迁移到 `XPOSED_ENVIRONMENT`
-
-### XPOSED_ENVIRONMENT - enum
-
-```kotlin:no-line-numbers
-XPOSED_ENVIRONMENT
-```
-
-**变更记录**
-
-`v1.1.5` `新增`
-
-**功能描述**
-
-> 仅在 (Xposed) 宿主环境使用。
-
-::: danger
-
-只能在 (Xposed) 宿主环境中使用,模块环境将不生效。
-
-:::
-
-### SCOPE - enum
-
-```kotlin:no-line-numbers
-SCOPE
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 分区使用。
-
-(Xposed) 宿主环境仅使用 `XPOSED_ENVIRONMENT`。
-
-模块环境仅使用 `LOGD`。
-
-### BOTH - enum
-
-```kotlin:no-line-numbers
-BOTH
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 同时使用。
-
-(Xposed) 宿主环境使用 `LOGD` 与 `XPOSED_ENVIRONMENT`。
-
-模块环境仅使用 `LOGD`。
-
-## YukiLoggerData - class
-
-```kotlin:no-line-numbers
-data class YukiLoggerData internal constructor(
- var timestamp: Long,
- var time: String,
- var tag: String,
- var priority: String,
- var packageName: String,
- var userId: Int,
- var msg: String,
- var throwable: Throwable?
-) : Serializable
-```
-
-**变更记录**
-
-`v1.1.2` `新增`
-
-`v1.1.4` `修改`
-
-实现 `Serializable` 接口并标识为 `data class`
-
-**功能描述**
-
-> 调试日志数据实现类。
-
-## YukiHookLogger - object
-
-```kotlin:no-line-numbers
-object YukiHookLogger
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 调试日志实现类。
-
-### inMemoryData - field
-
-```kotlin:no-line-numbers
-val inMemoryData: ArrayList
-```
-
-**变更记录**
-
-`v1.1.2` `新增`
-
-`v1.1.4` `修改`
-
-类型由 `HashSet` 修改为 `ArrayList`
+`v1.2.0` `新增`
**功能描述**
@@ -173,7 +36,7 @@ val inMemoryData: ArrayList
:::
-### contents - field
+## contents - field
```kotlin:no-line-numbers
val contents: String
@@ -181,7 +44,7 @@ val contents: String
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -195,15 +58,15 @@ val contents: String
:::
-### contents - method
+## contents - method
```kotlin:no-line-numbers
-fun contents(data: ArrayList): String
+fun contents(data: List): String
```
**变更记录**
-`v1.1.5` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -217,7 +80,7 @@ fun contents(data: ArrayList): String
:::
-### clear - method
+## clear - method
```kotlin:no-line-numbers
fun clear()
@@ -225,7 +88,7 @@ fun clear()
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -239,19 +102,15 @@ fun clear()
:::
-### saveToFile - method
+## saveToFile - method
```kotlin:no-line-numbers
-fun saveToFile(fileName: String, data: ArrayList)
+fun saveToFile(fileName: String, data: List)
```
**变更记录**
-`v1.1.0` `新增`
-
-`v1.1.5` `修改`
-
-新增 `data` 参数
+`v1.2.0` `新增`
**功能描述**
@@ -267,7 +126,7 @@ fun saveToFile(fileName: String, data: ArrayList)
:::
-### Configs - object
+## Configs - object
```kotlin:no-line-numbers
object Configs
@@ -275,13 +134,13 @@ object Configs
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
> 配置 `YukiHookLogger`。
-#### TAG - field
+### TAG - field
```kotlin:no-line-numbers
const val TAG: Int
@@ -289,13 +148,13 @@ const val TAG: Int
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
> 标签。
-#### PRIORITY - field
+### PRIORITY - field
```kotlin:no-line-numbers
const val PRIORITY: Int
@@ -303,13 +162,13 @@ const val PRIORITY: Int
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
> 优先级。
-#### PACKAGE_NAME - field
+### PACKAGE_NAME - field
```kotlin:no-line-numbers
const val PACKAGE_NAME: Int
@@ -317,13 +176,13 @@ const val PACKAGE_NAME: Int
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
> 当前宿主的包名。
-#### USER_ID - field
+### USER_ID - field
```kotlin:no-line-numbers
const val USER_ID: Int
@@ -331,13 +190,31 @@ const val USER_ID: Int
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
> 当前宿主的用户 ID (主用户不显示)。
-#### isEnable - field
+### tag - field
+
+```kotlin:no-line-numbers
+var tag: String
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 这是一个调试日志的全局标识。
+
+默认文案为 `YukiHookAPI`。
+
+你可以修改为你自己的文案。
+
+### isEnable - field
```kotlin:no-line-numbers
var isEnable: Boolean
@@ -345,7 +222,7 @@ var isEnable: Boolean
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -355,11 +232,11 @@ var isEnable: Boolean
但是不影响当你手动调用下面这些方法输出日志。
-`loggerD`、`loggerI`、`loggerW`、`loggerE`。
+`debug`、`info`、`warn`、`error`。
当 `isEnable` 关闭后 `YukiHookAPI.Configs.isDebug` 也将同时关闭。
-#### isRecord - field
+### isRecord - field
```kotlin:no-line-numbers
var isRecord: Boolean
@@ -367,7 +244,7 @@ var isRecord: Boolean
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -383,27 +260,9 @@ var isRecord: Boolean
:::
-开启后你可以调用 [YukiHookLogger.saveToFile](#savetofile-method) 实时保存日志到文件或使用 [YukiHookLogger.contents](#contents-field) 获取实时日志文件。
+开启后你可以调用 [YLog.saveToFile](#savetofile-method) 实时保存日志到文件或使用 [YLog.contents](#contents-field) 获取实时日志文件。
-#### tag - field
-
-```kotlin:no-line-numbers
-var tag: String
-```
-
-**变更记录**
-
-`v1.1.0` `新增`
-
-**功能描述**
-
-> 这是一个调试日志的全局标识。
-
-默认文案为 `YukiHookAPI`。
-
-你可以修改为你自己的文案。
-
-#### elements - method
+### elements - method
```kotlin:no-line-numbers
fun elements(vararg item: Int)
@@ -411,7 +270,7 @@ fun elements(vararg item: Int)
**变更记录**
-`v1.1.0` `新增`
+`v1.2.0` `新增`
**功能描述**
@@ -459,82 +318,154 @@ elements(PACKAGE_NAME, USER_ID, PRIORITY)
[com.demo.test][999][D]--> This is a log
```
-## loggerD - method
+## debug - method
```kotlin:no-line-numbers
-fun loggerD(tag: String, msg: String, type: LoggerType)
+fun debug(msg: String, e: Throwable?, tag: String, env: EnvType)
```
**变更记录**
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 打印 Debug 级别 Log。
+
+## info - method
+
+```kotlin:no-line-numbers
+fun info(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 打印 Info 级别 Log。
+
+## warn - method
+
+```kotlin:no-line-numbers
+fun warn(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 打印 Warn 级别 Log。
+
+## error - method
+
+```kotlin:no-line-numbers
+fun error(msg: String, e: Throwable?, tag: String, env: EnvType)
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 打印 Error 级别 Log。
+
+## EnvType - class
+
+```kotlin:no-line-numbers
+enum class EnvType
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 需要打印的日志环境类型。
+
+决定于模块与 (Xposed) 宿主环境使用的打印方式。
+
+### LOGD - enum
+
+```kotlin:no-line-numbers
+LOGD
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 仅使用 `android.util.Log`。
+
+### XPOSED_ENVIRONMENT - enum
+
+```kotlin:no-line-numbers
+XPOSED_ENVIRONMENT
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 仅在 (Xposed) 宿主环境使用。
+
+::: danger
+
+只能在 (Xposed) 宿主环境中使用,模块环境将不生效。
+
+:::
+
+### SCOPE - enum
+
+```kotlin:no-line-numbers
+SCOPE
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 分区使用。
+
+(Xposed) 宿主环境仅使用 `XPOSED_ENVIRONMENT`。
+
+模块环境仅使用 `LOGD`。
+
+### BOTH - enum
+
+```kotlin:no-line-numbers
+BOTH
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 同时使用。
+
+(Xposed) 宿主环境使用 `LOGD` 与 `XPOSED_ENVIRONMENT`。
+
+模块环境仅使用 `LOGD`。
+
+LoggerFactory - kt
+
+**变更记录**
+
`v1.0` `添加`
-`v1.1.0` `修改`
+`v1.2.0` `作废`
-新增 `type` 参数
-
-**功能描述**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `D`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerI - method
-
-```kotlin:no-line-numbers
-fun loggerI(tag: String, msg: String, type: LoggerType)
-```
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `修改`
-
-新增 `type` 参数
-
-**功能描述**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `I`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerW - method
-
-```kotlin:no-line-numbers
-fun loggerW(tag: String, msg: String, type: LoggerType)
-```
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `修改`
-
-新增 `type` 参数
-
-**功能描述**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `W`。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
-
-## loggerE - method
-
-```kotlin:no-line-numbers
-fun loggerE(tag: String, msg: String, e: Throwable?, type: LoggerType)
-```
-
-**变更记录**
-
-`v1.0` `添加`
-
-`v1.1.0` `修改`
-
-新增 `type` 参数
-
-**功能描述**
-
-> 向 `Logcat` 和 (Xposed) 宿主环境打印日志,级别 `E`,可携带 `e` 异常信息,将打印异常堆栈。
-
-`tag` 的默认参数为 `YukiHookAPI.Configs.debugTag`,你可以进行自定义。
\ No newline at end of file
+请迁移到 `YLog`
\ No newline at end of file
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md
new file mode 100644
index 00000000..2bdd6a14
--- /dev/null
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/log/data/YLogData.md
@@ -0,0 +1,26 @@
+---
+pageClass: code-page
+---
+
+# YLogData - class
+
+```kotlin:no-line-numbers
+data class YLogData internal constructor(
+ var timestamp: Long,
+ var time: String,
+ var tag: String,
+ var priority: String,
+ var packageName: String,
+ var userId: Int,
+ var msg: String,
+ var throwable: Throwable?
+) : Serializable
+```
+
+**变更记录**
+
+`v1.2.0` `新增`
+
+**功能描述**
+
+> 调试日志数据实现类。
\ No newline at end of file
diff --git a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
index 0975fe7d..34b68098 100644
--- a/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
+++ b/docs-source/src/zh-cn/api/public/com/highcapable/yukihookapi/hook/xposed/channel/YukiHookDataChannel.md
@@ -251,7 +251,7 @@ fun checkingVersionEquals(priority: ChannelPriority?, result: (Boolean) -> Unit)
### obtainLoggerInMemoryData - method
```kotlin:no-line-numbers
-fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (ArrayList) -> Unit)
+fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (List) -> Unit)
```
**变更记录**
@@ -264,13 +264,13 @@ fun obtainLoggerInMemoryData(priority: ChannelPriority?, result: (ArrayList 获取模块与宿主之间的 `ArrayList` 数据。
+> 获取模块与宿主之间的 `List` 数据。
由于模块与宿主处于不同的进程,我们可以使用数据通讯桥访问各自的调试日志数据。
::: danger
-模块与宿主必须启用 [YukiHookLogger.Configs.isRecord](../../log/LoggerFactory#isrecord-field) 才能获取到调试日志数据。
+模块与宿主必须启用 [YLog.Configs.isRecord](../../log/YLog#isrecord-field) 才能获取到调试日志数据。
由于 Android 限制了数据传输大小的最大值,如果调试日志过多将会自动进行分段发送,数据越大速度越慢。