Package

zenith.default

context

Permalink

package context

Zenith is written in a generic way so that it can be used with different contexts.

This package provides a functional implementation of a Zenith Context.

This package is not required to use Zenith, rather it is simply an example of how one may choose to implement a Zenith Context.

The implementation uses Scala Future to provide the context's asynchronous functionality and a stack of Monad Transformers to encapsulate all logging and errors. This implementation could easily be changed to use a Twitter or Akka Future in place of the Scala Future.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. context
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class Log(channel: Option[String], level: Level, message: String) extends Product with Serializable

    Permalink
  2. case class LoggingContext(logs: List[Log]) extends Product with Serializable

    Permalink
  3. type Type[$] = EitherT[[γ$0$]WriterT[Future, LoggingContext, γ$0$], Throwable, $]

    Permalink

Value Members

  1. object LoggingContext extends Serializable

    Permalink
  2. def typeclassImplementations(colourLogs: Boolean = true, defaultVebosity: Level = Logger.Level.DEBUG, verbosityOverrides: Map[Channel, Level] = Map ())(implicit ec: ExecutionContext): Monad[Type] with Async[Type] with Logger[Type] { implicit val monadFuture: cats.Monad[scala.concurrent.Future] }

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped