pure-log


License

License

GroupId

GroupId

org.novelfs
ArtifactId

ArtifactId

pure-log_2.11
Last Version

Last Version

0.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

pure-log
pure-log
Project URL

Project URL

https://github.com/TheInnerLight/pure-log
Project Organization

Project Organization

org.novelfs
Source Code Management

Source Code Management

https://github.com/TheInnerLight/pure-log

Download pure-log_2.11

How to add to project

<!-- https://jarcasting.com/artifacts/org.novelfs/pure-log_2.11/ -->
<dependency>
    <groupId>org.novelfs</groupId>
    <artifactId>pure-log_2.11</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.novelfs/pure-log_2.11/
implementation 'org.novelfs:pure-log_2.11:0.3.0'
// https://jarcasting.com/artifacts/org.novelfs/pure-log_2.11/
implementation ("org.novelfs:pure-log_2.11:0.3.0")
'org.novelfs:pure-log_2.11:jar:0.3.0'
<dependency org="org.novelfs" name="pure-log_2.11" rev="0.3.0">
  <artifact name="pure-log_2.11" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.novelfs', module='pure-log_2.11', version='0.3.0')
)
libraryDependencies += "org.novelfs" % "pure-log_2.11" % "0.3.0"
[org.novelfs/pure-log_2.11 "0.3.0"]

Dependencies

compile (8)

Group / Artifact Type Version
org.scala-lang : scala-library jar 2.11.12
ch.qos.logback : logback-classic jar 1.2.3
com.github.mpilquist : simulacrum_2.11 jar 0.14.0
com.typesafe : config jar 1.3.1
org.log4s : log4s_2.11 jar 1.6.1
org.scalactic : scalactic_2.11 jar 3.0.4
org.typelevel : cats-effect_2.11 jar 1.0.0
org.typelevel : cats-mtl-core_2.11 jar 0.4.0

test (4)

Group / Artifact Type Version
org.scalatest : scalatest_2.11 jar 3.0.4
org.scalamock : scalamock_2.11 jar 4.1.0
org.scalacheck : scalacheck_2.11 jar 1.13.4
net.manub : scalatest-embedded-kafka_2.11 jar 2.0.0

Project Modules

There are no modules declared in this project.

pure-log

Build Status Latest version

Simple logging in IO

libraryDependencies += "org.novelfs" %% "pure-log" % "[Latest version]"

Works in any Applicative with a LiftIO instance.

import org.novelfs.pure.log.Logger
import org.novelfs.pure.log.simple._
import cats.effect.IO

Logger.log[IO](LogLevel.Info)("Hello World!").unsafeRunSync()

MDC Logging

Works in any Monad with a LiftIO instance and an ApplicativeLocal instance where the environment that you intend to read from has a ToMdc instance.

import org.novelfs.pure.log.Logger
import org.novelfs.pure.log.mdc._
import cats.data.ReaderT
import cats.mtl.implicits._

case class Captain(firstName : String, lastName : String)

implicit val captainToMdc = new ToMdc[Captain] {
  override def toMdc(captain: Captain): Map[String, String] = Map("firstName" -> captain.firstName, "lastName" -> captain.lastName)
}

Logger.log[ReaderT[IO, Captain, ?]](LogLevel.Info)("Hello World!")
  .run(Captain("James", "Kirk"))
  .unsafeRunSync()

Versions

Version
0.3.0
0.1.2