LogFiltering

object LogFiltering
class Object
trait Matchable
class Any

Type members

Classlikes

final case class LogFilterNode(logLevel: LogLevel, children: Map[String, LogFilterNode])

Types

type FilterCache = TMap[(List[String], LogLevel), Boolean]

Value members

Methods

def cachedFilterBy[A](cache: FilterCache, rootLevel: LogLevel, mappings: (String, LogLevel)*): (LogContext, => A) => UIO[Boolean]
def cachedFilterByTree[A](cache: FilterCache, root: LogFilterNode): (LogContext, => A) => UIO[Boolean]
def filterBy[A](rootLevel: LogLevel, mappings: (String, LogLevel)*): (LogContext, => A) => Boolean

Defines a filter function from a list of log-levels specified per tree node

Example:

{{{ val filter = filterBy[String]( LogLevel.Debug, "io.netty" -> LogLevel.Info, "io.grpc.netty" -> LogLevel.Info ) }}}

will use the Debug log level for everything except for log events with the name annotation prefixed by either List("io", "netty") or List("io", "grpc", "netty").

Value Params
mappings

List of mappings, nesting defined by dot-separated strings

rootLevel

Minimum log level for the root node

Returns

A filter function for customizing appenders

def filterByTree[A](root: LogFilterNode): (LogContext, => A) => Boolean