Packages

final class LogSelector[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] create[F](address) } will log using logger

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

Linear Supertypes
AnyVal, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LogSelector
  2. AnyVal
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new LogSelector(log: LogWriter[F])

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    Any
  2. final def ##: Int
    Definition Classes
    Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def getClass(): Class[_ <: AnyVal]
    Definition Classes
    AnyVal → Any
  6. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  7. val log: LogWriter[F]
  8. def toString(): String
    Definition Classes
    Any

Inherited from AnyVal

Inherited from Any

Ungrouped