-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathSLF4JLogger.kt
25 lines (23 loc) · 928 Bytes
/
SLF4JLogger.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package saschpe.log4k.slf4j
import org.slf4j.LoggerFactory
import saschpe.log4k.Log
import saschpe.log4k.Logger
/**
* Logger that forwards all log statements to SLF4J API.
*
* SLF4J in turn allows to use Logback or other implementations. This way, you can use the expressive `logback.xml`
* configuration and appender.
*/
actual class SLF4JLogger : Logger() {
override fun print(level: Log.Level, tag: String, message: String?, throwable: Throwable?) =
LoggerFactory.getLogger(tag).run {
when (level) {
Log.Level.Verbose -> trace(message, throwable)
Log.Level.Debug -> debug(message, throwable)
Log.Level.Info -> info(message, throwable)
Log.Level.Warning -> warn(message, throwable)
Log.Level.Error -> error(message, throwable)
Log.Level.Assert -> error(message, throwable)
}
}
}