Added LoggerType function in LoggerFactory

This commit is contained in:
2022-07-27 22:48:19 +08:00
parent 84b21c0c47
commit e557133841
3 changed files with 216 additions and 21 deletions

View File

@@ -8,16 +8,102 @@
> 这是 `YukiHookAPI` 的日志封装类,可实现同时向 `Logcat` 和 `XposedBridge.log` 打印日志的功能。
### LoggerType [class]
```kotlin
enum class LoggerType
```
**变更记录**
`v1.0.93` `新增`
**功能描述**
> 需要打印的日志类型。
决定于模块与 (Xposed) 宿主环境使用的打印方式。
#### LOGD [enum]
```kotlin
LOGD
```
**变更记录**
`v1.0.93` `新增`
**功能描述**
> 仅使用 `android.util.Log`。
#### XPOSEDBRIDGE [enum]
```kotlin
XPOSEDBRIDGE
```
**变更记录**
`v1.0.93` `新增`
**功能描述**
> 仅使用 `XposedBridge.log`。
!> 只能在 (Xposed) 宿主环境中使用,模块环境将不生效。
#### SCOPE [enum]
```kotlin
SCOPE
```
**变更记录**
`v1.0.93` `新增`
**功能描述**
> 分区使用。
(Xposed) 宿主环境仅使用 `XPOSEDBRIDGE`
模块环境仅使用 `LOGD`
#### BOTH [enum]
```kotlin
BOTH
```
**变更记录**
`v1.0.93` `新增`
**功能描述**
> 同时使用。
(Xposed) 宿主环境使用 `LOGD``XPOSEDBRIDGE`
模块环境仅使用 `LOGD`
### loggerD [method]
```kotlin
fun loggerD(tag: String, msg: String)
fun loggerD(tag: String, msg: String, type: LoggerType)
```
**变更记录**
`v1.0` `添加`
`v1.0.93` `修改`
新增 `type` 参数
**功能描述**
> 向 `Logcat` 和 `XposedBridge` 打印日志,级别 `D`。
@@ -27,13 +113,17 @@ fun loggerD(tag: String, msg: String)
### loggerI [method]
```kotlin
fun loggerI(tag: String, msg: String)
fun loggerI(tag: String, msg: String, type: LoggerType)
```
**变更记录**
`v1.0` `添加`
`v1.0.93` `修改`
新增 `type` 参数
**功能描述**
> 向 `Logcat` 和 `XposedBridge` 打印日志,级别 `I`。
@@ -43,13 +133,17 @@ fun loggerI(tag: String, msg: String)
### loggerW [method]
```kotlin
fun loggerW(tag: String, msg: String)
fun loggerW(tag: String, msg: String, type: LoggerType)
```
**变更记录**
`v1.0` `添加`
`v1.0.93` `修改`
新增 `type` 参数
**功能描述**
> 向 `Logcat` 和 `XposedBridge` 打印日志,级别 `W`。
@@ -59,13 +153,17 @@ fun loggerW(tag: String, msg: String)
### loggerE [method]
```kotlin
fun loggerE(tag: String, msg: String, e: Throwable?)
fun loggerE(tag: String, msg: String, e: Throwable?, type: LoggerType)
```
**变更记录**
`v1.0` `添加`
`v1.0.93` `修改`
新增 `type` 参数
**功能描述**
> 向 `Logcat` 和 `XposedBridge` 打印日志,级别 `E`,可携带 `e` 异常信息,将打印异常堆栈。

View File

@@ -949,6 +949,36 @@ loggerD(tag = "YukiHookAPI", msg = "This is a log")
[YukiHookAPI][D]--> This is a log
```
你还可以使用 `LoggerType` 自定义日志打印的类型,可选择使用 `android.util.Log` 还是 `XposedBridge.log` 来打印日志。
默认类型为 `LoggerType.BOTH`,含义为同时使用这两个方法来打印日志。
比如我们仅使用 `android.util.Log` 来打印日志。
> 示例如下
```kotlin
loggerD(tag = "YukiHookAPI", msg = "This is a log", type = LoggerType.LOGD)
```
或又仅使用 `XposedBridge.log` 来打印日志,此方法仅可在 (Xposed) 宿主环境使用。
> 示例如下
```kotlin
loggerD(tag = "YukiHookAPI", msg = "This is a log", type = LoggerType.XPOSEDBRIDGE)
```
若你想智能区分 (Xposed) 宿主环境与模块环境,可以写为如下形式。
> 示例如下
```kotlin
loggerD(tag = "YukiHookAPI", msg = "This is a log", type = LoggerType.SCOPE)
```
这样 API 就会在不同环境智能选择指定的方法类型去打印这条日志。
更多用法可参考 [loggerD](api/document?id=loggerd-method)、[loggerI](api/document?id=loggeri-method) 及 [loggerW](api/document?id=loggerw-method) 方法。
### 错误日志
@@ -996,6 +1026,8 @@ java.lang.Throwable
... 3 more
```
在错误日志中,你同样也可以使用 `LoggerType` 来指定当前打印日志所用到的方法类型。
更多用法可参考 [loggerE](api/document?id=loggere-method) 方法。
## Xposed 模块数据存储功能