Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/7hens/logdog
🐶 Yet another pretty logger for android
https://github.com/7hens/logdog
android log logcat logger timber
Last synced: 9 days ago
JSON representation
🐶 Yet another pretty logger for android
- Host: GitHub
- URL: https://github.com/7hens/logdog
- Owner: 7hens
- License: mit
- Created: 2020-04-14T07:31:34.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-09-29T11:23:18.000Z (about 3 years ago)
- Last Synced: 2024-08-02T19:36:52.670Z (4 months ago)
- Topics: android, log, logcat, logger, timber
- Language: Kotlin
- Homepage:
- Size: 371 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-list - 7hens/logdog - 🐶 Yet another pretty logger for android (Kotlin)
README
# Logdog
[![jitpack](https://jitpack.io/v/7hens/logdog.svg)](https://jitpack.io/#7hens/logdog)
[![license](https://img.shields.io/github/license/7hens/logdog.svg)](https://github.com/7hens/logdog/blob/master/LICENSE)
[![stars](https://img.shields.io/github/stars/7hens/logdog.svg?style=social)](https://github.com/7hens/logdog)Yet another pretty logger for android.
## Setting up the dependency
last_version: [![jitpack](https://jitpack.io/v/7hens/logdog.svg)](https://jitpack.io/#7hens/logdog)
```groovy
implementation 'com.github.7hens:logdog:'
```## Sample usage
```kotlin
Logdog { "hello" }
.error { Throwable() }
.debug
.logMemory(this)
.logCount("hello")
.logCount("hello")
.warn
.logTime("hello")
.logTime("hello")
.requires(!BuildConfig.DEBUG) () { "What a Terrible Failure" }
```## Advanced
You can customize a logger as you want.
```kotlin
val customLogger = Logdog
.priority(LogPriority.WARN)
.strategy(LogStrategy.WARN)
.tag("CustomLogger")
.logger { priority, tag, message ->
Logger.logcat().log(priority, tag,
PrettyLogger.getStackInfo() + " " + PrettyLogger.stringOf(message))
}
```## Output
You can view all logs about Logdog by filtering `/=`.
```plain
E/=:CustomLogger: MainActivity.onCreate(MainActivity.java:53) hello world
D/=:Logdog: ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: │ MainActivity.testLog(MainActivity.java:59) on thread: main
D/=:Logdog: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
D/=:Logdog: │ hello
D/=:Logdog: └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
E/=:Logdog: ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════
E/=:Logdog: ║ MainActivity.testLog(MainActivity.java:60) on thread: main
E/=:Logdog: ╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
E/=:Logdog: ║ java.lang.Throwable
E/=:Logdog: ║ at cn.thens.logdog.sample.MainActivity.testLog(MainActivity.java:59)
E/=:Logdog: ║ at cn.thens.logdog.sample.MainActivity.onCreate(MainActivity.java:53)
E/=:Logdog: ║ at android.app.Activity.performCreate(Activity.java:6278)
E/=:Logdog: ║ at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
E/=:Logdog: ║ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2396)
E/=:Logdog: ║ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2503)
E/=:Logdog: ║ at android.app.ActivityThread.-wrap11(ActivityThread.java)
E/=:Logdog: ║ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1353)
E/=:Logdog: ║ at android.os.Handler.dispatchMessage(Handler.java:102)
E/=:Logdog: ║ at android.os.Looper.loop(Looper.java:148)
E/=:Logdog: ║ at android.app.ActivityThread.main(ActivityThread.java:5529)
E/=:Logdog: ║ at java.lang.reflect.Method.invoke(Native Method)
E/=:Logdog: ║ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:745)
E/=:Logdog: ║ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:635)
E/=:Logdog: ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════
D/=:Logdog: ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: │ MainActivity.testLog(MainActivity.java:61) on thread: main
D/=:Logdog: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
D/=:Logdog: │ total memory: 3035 MB
D/=:Logdog: │ avail memory: 2617 MB
D/=:Logdog: │ threshold: 144 MB
D/=:Logdog: │ low memory: false
D/=:Logdog: └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: │ MainActivity.testLog(MainActivity.java:62) on thread: main
D/=:Logdog: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
D/=:Logdog: │ count(hello): 1
D/=:Logdog: └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────
D/=:Logdog: │ MainActivity.testLog(MainActivity.java:63) on thread: main
D/=:Logdog: ├┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
D/=:Logdog: │ count(hello): 2
D/=:Logdog: └────────────────────────────────────────────────────────────────────────────────────────────────────────────────
W/=:Logdog: ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════
W/=:Logdog: ║ MainActivity.testLog(MainActivity.java:64) on thread: main
W/=:Logdog: ╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
W/=:Logdog: ║ time(hello): _
W/=:Logdog: ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════
W/=:Logdog: ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════
W/=:Logdog: ║ MainActivity.testLog(MainActivity.java:65) on thread: main
W/=:Logdog: ╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
W/=:Logdog: ║ time(hello): 1ms
W/=:Logdog: ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════
A/=:Logdog: ╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════
A/=:Logdog: ║ MainActivity.testLog(MainActivity.java:66) on thread: main
A/=:Logdog: ╟┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
A/=:Logdog: ║ What a Terrible Failure
A/=:Logdog: ╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════
```