Slide 28
Slide 28 text
#Devoxx @ramtop
Outcome has the information we want to log
typealias Logger = (Outcome<*, *>, LogContext) -> Unit
class StreamLogger: Logger {…}
class ConsoleLogger: Logger {…}
listRepository
.retrieveList(listName)
.transform { list -> renameList(list, newName)}
.bind(::storeList)
.also{logger(it, logContext(user, “list rename”)}