di
Typeful hierarchical structured logging using di, mtl and df1.
| LTS Haskell 24.16: | 1.3 |
| Stackage Nightly 2025-10-24: | 1.3 |
| Latest on Hackage: | 1.3 |
di-1.3@sha256:8e630a6ac40f234fbd39627841d3cfd3800e2189b63c1ee01cf5290eb0138131,1129Module documentation for 1.3
di
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.
See the BSD3 LICENSE file to learn about the legal terms and conditions for this library.
Changes
Version 1.3
-
COMPILER ASSISTED BREAKING CHANGE: Renaming logging functions again. For example,
infois the name we give to theToMessage-polymorphic logging functions,info_to theirMessage-monomorphic version, andinfo'to theSTMversion. The previousSTMsuffix ininfoSTMis gone, so as to mimick the naming conventions ofdi-core. -
Re-export
attr_fromDi.Df1.Monad. -
Re-export all of
MonadDi(..)fromDi.Df1.Monad.
Version 1.2.2
- Re-export
askfromDi.Df1.Monad.
Version 1.2.1
-
Improve logging of exceptions.
-
Documentation improvements.
-
Re-export
debug',info', etc. fromDi.Df1.Monad.
Version 1.2
-
The
MonadThrowinstance forDiTdoesn’t log exceptions automatically any more. This is because otherwise catching and re-throwing exceptions in downstream code, by default, ends up logging the same exception more than once. -
A
throwfunction behaving as the previousMonadThrowinstance was introduced.
Version 1.1.1
-
Documentation improvements.
-
Re-export
Df1.ToSegment,Df1.segment,Df1.ToMessage,Df1.message,Df1.ToKey,Df1.key,Df1.ToValue,Df1.value.
Version 1.1
- BREAKING CHANGE: Exceptions are now logged at the throw site by
default now when possible, with level
Warning. See the changelog fordi-monad-1.1.
Version 1.0.1
-
COMPILER ASSISTED BREAKING CHANGE: We don’t export
Di,DiTnorMonadDianymore. -
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 variousdi-*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:
mkDiTextStderrandmkDiStringHandlereturn aDi String [String] Stringnow. -
Made compatible with GHC 8.4.
Version 0.2
-
BREAKING CHANGE:
Dinow takes a new type argumentlevel. -
BREAKING CHANGE: Remove
Leveland all related functions in favour of a newlevelargument toDito be implemented by the user. -
BREAKING CHANGE: Require
Monoidinstance for thepathtype. -
BREAKING CHANGE: Removed
levelfunction. Addedfilterfunction instead. -
BREAKING CHANGE: Drop
mkDiTextStderrandmkDiTextFileHandlein favour ofmkDiStringHandleandmkDiStringStderr. The rationale is that we are already paying the costs of manyshowcalls, and users of this library are quite likely to useStrings anyway (since they, too, are likely usingshowresults). We will bring backTextbasedmkDiTextStderrwhen we can make it performant. -
BREAKING CHANGE: Rename the
pathandmsgfunctions tocontrapathandcontramsg, flipping the order of their arguments so that the function comes first (like incontramap). -
BREAKING CHANGE: The
pushfunction now takes theDivalue 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.