Typeful hierarchical structured logging using di, mtl and df1.


Version on this page:1.0.1
LTS Haskell 22.25:1.3
Stackage Nightly 2024-06-16:1.3
Latest on Hackage:1.3

See all snapshots di appears in

BSD-3-Clause licensed by Renzo Carbonara
Maintained by renλren.zone
This version can be pinned in stack with:di-1.0.1@sha256:e1dab1755679b609ea6fb435cae11c3090fefb68b1a02edf0d08ef10323b6426,922

Module documentation for 1.0.1


Typeful hierarchical structured logging using di, mtl and df1.

This is meta-package bringing in together things from the di-core, di-monad, di-handle and di-df1 libraries.

See the Di module for more documentation.

Build Status

See the BSD3 LICENSE file to learn about the legal terms and conditions for this library.


Version 1.0.1

  • COMPILER ASSISTED BREAKING CHANGE: We don’t export Di, DiT nor MonadDi anymore.

  • Re-export Df1.Path, Df1.Level, Di.Df1.Df1, Di.Df1.Monad.Df1T, Di.Df1.Monad.MonadDf1.

Version 1.0

  • BREAKING CHANGE: Most of what used to be in this library lives now in di-core. This library is now intended to be an entry point to the various di-* libraries. Consider this first release of the new ecosystem a preview release: The API is likely to stay stable, but extensive testing, formalization and tooling is due.

Version 0.3

  • BREAKING CHANGE: mkDiTextStderr and mkDiStringHandle return a Di String [String] String now.

  • Made compatible with GHC 8.4.

Version 0.2

  • BREAKING CHANGE: Di now takes a new type argument level.

  • BREAKING CHANGE: Remove Level and all related functions in favour of a new level argument to Di to be implemented by the user.

  • BREAKING CHANGE: Require Monoid instance for the path type.

  • BREAKING CHANGE: Removed level function. Added filter function instead.

  • BREAKING CHANGE: Drop mkDiTextStderr and mkDiTextFileHandle in favour of mkDiStringHandle and mkDiStringStderr. The rationale is that we are already paying the costs of many show calls, and users of this library are quite likely to use Strings anyway (since they, too, are likely using show results). We will bring back Text based mkDiTextStderr when we can make it performant.

  • BREAKING CHANGE: Rename the path and msg functions to contrapath and contramsg, flipping the order of their arguments so that the function comes first (like in contramap).

  • BREAKING CHANGE: The push function now takes the Di value as second argument.

  • Fix ISO8601 formatting of second fractions.

  • Export flush.

  • Stricter ordering of async messages.

  • Added tests.

  • Added a lot of documentation.

Version 0.1

  • Initial version.