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/LoggerFactory.md index 3fe6b3a0..609b0ca7 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/LoggerFactory.md @@ -193,6 +193,28 @@ val contents: String ::: +### 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 @@ -218,13 +240,17 @@ fun clear() ### saveToFile - method ```kotlin:no-line-numbers -fun saveToFile(fileName: String) +fun saveToFile(fileName: String, data: ArrayList) ``` **Change Records** `v1.1.0` `added` +`v1.1.5` `modified` + +新增 `data` 参数 + **Function Illustrate** > 保存当前日志到文件。 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/LoggerFactory.md index c4adf3d5..8c2eb1f0 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/LoggerFactory.md @@ -185,6 +185,28 @@ val contents: String ::: +### contents - method + +```kotlin:no-line-numbers +fun contents(data: ArrayList): String +``` + +**变更记录** + +`v1.1.5` `新增` + +**功能描述** + +> 获取、格式化当前日志文件内容。 + +如果当前没有已记录的日志 (`data` 为空) 会返回空字符串。 + +::: danger + +获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。 + +::: + ### clear - method ```kotlin:no-line-numbers @@ -210,13 +232,17 @@ fun clear() ### saveToFile - method ```kotlin:no-line-numbers -fun saveToFile(fileName: String) +fun saveToFile(fileName: String, data: ArrayList) ``` **变更记录** `v1.1.0` `新增` +`v1.1.5` `修改` + +新增 `data` 参数 + **功能描述** > 保存当前日志到文件。 diff --git a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt index 258323c1..7528ab69 100644 --- a/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt +++ b/yukihookapi/src/api/kotlin/com/highcapable/yukihookapi/hook/log/LoggerFactory.kt @@ -147,18 +147,28 @@ object YukiHookLogger { * - ❗获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的 * @return [String] */ - val contents: String - get() { - var content = "" - inMemoryData.takeIf { it.isNotEmpty() }?.forEach { - content += "${it.head}$it\n" - it.throwable?.also { e -> - content += "${it.head}Dump stack trace for \"${e.current().name}\":\n" - content += e.toStackTrace() - } + val contents get() = contents() + + /** + * 获取、格式化当前日志文件内容 + * + * 如果当前没有已记录的日志 ([data] 为空) 会返回空字符串 + * + * - ❗获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的 + * @param data 日志数据 - 默认为 [inMemoryData] + * @return [String] + */ + fun contents(data: ArrayList = inMemoryData): String { + var content = "" + data.takeIf { it.isNotEmpty() }?.forEach { + content += "${it.head}$it\n" + it.throwable?.also { e -> + content += "${it.head}Dump stack trace for \"${e.current().name}\":\n" + content += e.toStackTrace() } - return content } + return content + } /** * 清除全部已记录的日志 @@ -178,10 +188,11 @@ object YukiHookLogger { * * - ❗文件读写权限取决于当前宿主、模块已获取的权限 * @param fileName 完整文件名 - 例如 /data/data/.../files/xxx.log + * @param data 日志数据 - 默认为 [inMemoryData] * @throws ErrnoException 如果目标路径不可写 */ - fun saveToFile(fileName: String) { - if (inMemoryData.isNotEmpty()) File(fileName).appendText(contents) + fun saveToFile(fileName: String, data: ArrayList = inMemoryData) { + if (data.isNotEmpty()) File(fileName).appendText(contents(data)) } /**