A Kotlin logging library focused on readability in console. PrettyLog takes advantage of ANSI color codes to make your logs look โจ pretty โจ.
As of 1.8, PrettyLog supports the following targets:
jvmmingwx64[windows]macosx64macosarm64linuxx64linuxarm64
Supporting both Kotlin/JVM and Kotlin/Native
repositories {
maven {
name = "devOS"
url = uri("https://mvn.devos.one/releases")
}
}
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.2")
implementation("com.squareup.okio:okio:3.10.2")
// Import the common code
implementation("cz.lukynka:pretty-log:1.8")
// Import the platform-specific library. Do jvm if you're doing Kotlin/JVM / Java,
// Do any other platform if you're doing Kotlin/Native [like linuxx64 or mingwx64]
implementation("cz.lukynka:pretty-log-PLATFORMNAMEHERE:1.8")
}repositories {
mavenCentral()
maven {
name "devOS"
url "https://mvn.devos.one/releases"
}
}
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-datetime:0.6.2'
implementation 'com.squareup.okio:okio:3.10.2'
// Import the common code
implementation 'cz.lukynka:pretty-log:1.5'
// Import the platform-specific library. Do jvm if you're doing Kotlin/JVM / Java,
// Do any other platform if you're doing Kotlin/Native [like linuxx64 or mingwx64]
implementation 'cz.lukynka:pretty-log-PLATFORMNAMEHERE:1.8'
}Logging is very easy, just call the log(message, type) method. type parameter is optional and defaults to RUNTIME. Add LoggerFileWriter.load() to your main function if you want logs to be saved.
log("Hello there!")
log("general kenobi", LogType.NETWORK)You can also log exceptions!
} catch (exception: Exception) {
log(exception)
}You can change settings by simply setting LoggerSettings.<setting> to its new value
// Should the logs be saved to file?
LoggerSettings.saveToFile = true
// The path to the logs directory
LoggerSettings.saveDirectoryPath = "./logs/"
// Format of the log file name
LoggerSettings.logFileNameFormat = "yyyy-MM-dd-Hms"
// Style of the logger in console
LoggerSettings.loggerStyle = LoggerStyle.PREFIXThere are 7 logger styles in total:
There are 16 default log types: Debug, Information, Runtime, Network, Success, Warning, Error, Exception, Critical, Audit, Trace, Security, User Action, Performance, Config, and Fatal.
You can make custom log types by making object and then making vals in it with CustomLogType(name, AnsiPair) data class
object CustomLogTypes {
val CUTE = CustomLogType("โฝ^โขโฉโข^โผ", AnsiPair.CUTE_PINK)
val GIT = CustomLogType("\uD83E\uDD16 Git", AnsiPair.AQUA)
val FIRE_WARNING = CustomLogType("\uD83D\uDD25 Fire Warning", AnsiPair.ORANGE)
}log("T-This is vewy cuwute message OwO", CustomLogTypes.CUTE)
log("refusing to merge unrelated histories", CustomLogTypes.GIT)
log("SERVER ROOM ON FIRE, DONT LET ASO RUN WHILE LOOPS EVER AGAIN", CustomLogTypes.FIRE_WARNING)Clone this project, open it up in IntelliJ IDEA, and once the project is loaded, in the Gradle tab, go to pretty-log -> Tasks -> verification -> Run [platform]Test
Running jvmTest would be the most ideal as it'd be the most common to test for.