注意
由于维护成本,YukiHookAPI 从 1.3.0 版本开始将不再会对此文档进行更新且在 2.0.0 版本切换为 Dokka 插件自动生成的 API 文档。
YLog - object
object YLog
变更记录
v1.2.0 新增
功能描述
全局 Log 管理类。
inMemoryData - field
val inMemoryData: MutableList<YLogData>
变更记录
v1.2.0 新增
功能描述
当前全部已记录的日志数据。
特别注意
获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
contents - field
val contents: String
变更记录
v1.2.0 新增
功能描述
获取当前日志文件内容。
如果当前没有已记录的日志会返回空字符串。
特别注意
获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
contents - method
fun contents(data: List<YLogData>): String
变更记录
v1.2.0 新增
功能描述
获取、格式化当前日志文件内容。
如果当前没有已记录的日志 (data 为空) 会返回空字符串。
特别注意
获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
clear - method
fun clear()
变更记录
v1.2.0 新增
功能描述
清除全部已记录的日志。
你也可以直接获取 inMemoryData 来清除。
特别注意
获取到的日志数据在 Hook APP (宿主) 及模块进程中是相互隔离的。
saveToFile - method
fun saveToFile(fileName: String, data: List<YLogData>)
变更记录
v1.2.0 新增
功能描述
保存当前日志到文件。
若当前未开启 Configs.isRecord 或记录为空则不会进行任何操作。
日志文件会追加到 fileName 的文件结尾,若文件不存在会自动创建。
特别注意
文件读写权限取决于当前宿主、模块已获取的权限。
Configs - object
object Configs
变更记录
v1.2.0 新增
功能描述
配置
YukiHookLogger。
TAG - field
const val TAG: Int
变更记录
v1.2.0 新增
功能描述
标签。
PRIORITY - field
const val PRIORITY: Int
变更记录
v1.2.0 新增
功能描述
优先级。
PACKAGE_NAME - field
const val PACKAGE_NAME: Int
变更记录
v1.2.0 新增
功能描述
当前宿主的包名。
USER_ID - field
const val USER_ID: Int
变更记录
v1.2.0 新增
功能描述
当前宿主的用户 ID (主用户不显示)。
tag - field
var tag: String
变更记录
v1.2.0 新增
功能描述
这是一个调试日志的全局标识。
默认文案为 YukiHookAPI。
你可以修改为你自己的文案。
isEnable - field
var isEnable: Boolean
变更记录
v1.2.0 新增
功能描述
是否启用调试日志的输出功能。
关闭后将会停用 YukiHookAPI 对全部日志的输出。
但是不影响当你手动调用下面这些方法输出日志。
debug、info、warn、error。
当 isEnable 关闭后 YukiHookAPI.Configs.isDebug 也将同时关闭。
isRecord - field
var isRecord: Boolean
变更记录
v1.2.0 新增
功能描述
是否启用调试日志的记录功能。
开启后将会在内存中记录全部可用的日志和异常堆栈。
需要同时启用 isEnable 才能有效。
特别注意
过量的日志可能会导致宿主运行缓慢或造成频繁 GC。
开启后你可以调用 YLog.saveToFile 实时保存日志到文件或使用 YLog.contents 获取实时日志文件。
elements - method
fun elements(vararg item: Int)
变更记录
v1.2.0 新增
功能描述
自定义调试日志对外显示的元素。
只对日志记录和 (Xposed) 宿主环境的日志生效。
日志元素的排列将按照你在 item 中设置的顺序进行显示。
你还可以留空 item 以不显示除日志内容外的全部元素。
可用的元素有:TAG、PRIORITY、PACKAGE_NAME、USER_ID。
功能示例
打印的日志样式将按照你设置的排列顺序和元素内容进行。
示例如下
elements(TAG, PRIORITY, PACKAGE_NAME, USER_ID)
以上内容定义的日志将显示为如下样式。
示例如下
[YukiHookAPI][D][com.demo.test][999]--> This is a log
如果我们调整元素顺序以及减少个数,那么结果又会不一样。
示例如下
elements(PACKAGE_NAME, USER_ID, PRIORITY)
以上内容定义的日志将显示为如下样式。
示例如下
[com.demo.test][999][D]--> This is a log
debug - method
fun debug(msg: String, e: Throwable?, tag: String, env: EnvType)
变更记录
v1.2.0 新增
功能描述
打印 Debug 级别 Log。
info - method
fun info(msg: String, e: Throwable?, tag: String, env: EnvType)
变更记录
v1.2.0 新增
功能描述
打印 Info 级别 Log。
warn - method
fun warn(msg: String, e: Throwable?, tag: String, env: EnvType)
变更记录
v1.2.0 新增
功能描述
打印 Warn 级别 Log。
error - method
fun error(msg: String, e: Throwable?, tag: String, env: EnvType)
变更记录
v1.2.0 新增
功能描述
打印 Error 级别 Log。
EnvType - class
enum class EnvType
变更记录
v1.2.0 新增
功能描述
需要打印的日志环境类型。
决定于模块与 (Xposed) 宿主环境使用的打印方式。
LOGD - enum
LOGD
变更记录
v1.2.0 新增
功能描述
仅使用
android.util.Log。
XPOSED_ENVIRONMENT - enum
XPOSED_ENVIRONMENT
变更记录
v1.2.0 新增
功能描述
仅在 (Xposed) 宿主环境使用。
特别注意
只能在 (Xposed) 宿主环境中使用,模块环境将不生效。
SCOPE - enum
SCOPE
变更记录
v1.2.0 新增
功能描述
分区使用。
(Xposed) 宿主环境仅使用 XPOSED_ENVIRONMENT。
模块环境仅使用 LOGD。
BOTH - enum
BOTH
变更记录
v1.2.0 新增
功能描述
同时使用。
(Xposed) 宿主环境使用 LOGD 与 XPOSED_ENVIRONMENT。
模块环境仅使用 LOGD。
LoggerFactory - kt
变更记录
v1.0 添加
v1.2.0 作废
请迁移到 YLog
