Logger
Cross-platform logger with four severity levels for plugin development.
A cross-platform logger with four severity levels. Create one instance per component, then log at the appropriate level throughout that component.
import dev.krtirtho.plugin_interfaces.extras.logger.Logger
class RealMetadataSearchAPI(private val spotr: SpotrClient) : MetadataSearchAPI {
private val logger = Logger("SearchAPI")
override suspend fun searchTracks(query: String, pagination: PaginationStrategy?):
PaginationResult<MetadataSearchResult.Track> {
logger.d { "searching: query=$query" }
val response = spotr.get {
url { encodedPath = "/search" }
parameter("q", query)
}
logger.i { "search returned ${response.statusCode}" }
// ...parse and return
}
}
Messages use lazy evaluation - the lambda only runs if the log level is enabled. Pass a Throwable to e() for stack trace output.