MyNixOS website logo
Description

Trek through your code forest and make logs.

This is a logging facility. Yes, there are many, and this is the one with a beard, wearing flannel and boots, that gets the job done. It's not the fanciest, it doesn't have a cargo-van full of features. This logger is designed to be straightforward to use, provide a good set of standard features, and be useable across a broad set of code.

  • Logging itself is a monadic activity. This activity is most often performed in a monad stack with a MonadIO context to allow writing to files.

  • The specific logging action implementations are managed separately from the actions of logging messages in the target code. This allows logging to be configurable and the manner of logging to be specified at startup time without requiring changes in the code from which log messages are being generated.

  • The logging implementation code can use contravariant functors to adjust existing logging.

  • Main code will typically retrieve the logging actions from a Reader context in your monad stack. That said, Log actions are not tied to an enclosing Monad. There are helpers to support a Monad which can store Log actions, but Log actions can also be explicitly passed and used.

  • The prettyprinter package is used for formatting.

Metadata

Version

1.0.3.0

License

Executables (1)

  • bin/example_log

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows