LogSelector

log.effect.fs2.LogSelector
See theLogSelector companion object
final class LogSelector[F[_]](val log: LogWriter[F]) extends AnyVal

It helps to add logging capability to components allowing them to use a LogWriter[F] if in scope or defaulting, when F[_] is an Applicative, to noOpLog[F] if no LogWriter is provided.

Example:

def create[F[_]: LogSelector](a: String): ALoggingClient[F] = new ALoggingClient[F] { def do = LogSelector[F].writer.info("something") }

def useTheClient[F[_]](address: String): F[Unit] = { implicit val logger: LogWriter[F] = consoleLog[F] createF } will log using logger

def useTheClient[F[_]](address: String): F[Unit] = createF will not log

Attributes

Companion:
object
Source:
LogSelector.scala
Graph
Supertypes
class AnyVal
trait Matchable
class Any

Members list

Concise view

Value members

Concrete fields

val log: LogWriter[F]

Attributes

Source:
LogSelector.scala