MyNixOS website logo
Description

Simple enhancements for logging with co-log.

A library built upon co-log that makes constructing and using LogActions simpler with some predefined formatters and a slightly enhanced Severity type

co-log-simple

Synopsis

Simple enhancements for logging with co-log

Description

A library built upon co-log that makes constructing and using LogActions simpler with some predefined formatters and a slightly enhanced Severity type

This library expresses some logging needs that recur in my work:

  1. Often I want more than one type of "info" severity to differentiate between more- or less-chatty output that's not debug or warning/error related. This library includes a new Severity type that adds Notice between Info and Warning.
  2. I've often wanted different colors for severities which is much easier with co-log than hslogger
  3. This library also includes some functions for formatting different parts of a log message like the severity, stack info, or the message itself. These formatters can be composed together with the (%) and (%+) operators.

Additionally:

I found using the RichMsg/RichMessage types in co-log to be slightly on the complicated side to use. This library integrates timestamping through those types as well to make things easier while keeping the interface simple.

co-log-simple uses the ISO8601 with zone offset format for timestamps by default which I like because it sorts. The time formatters in this library also support custom format strings as defined in the Data.Time.Format module in the base time library.

For usage examples, see src/examples/Main.hs and the API docs for Colog.Simple

Development

Source code is available from Codeberg at the co-log-simple project page.

Handy command to generate Haddock docs during development if using stack. This constrains doc generation to modules in the library:

$ stack haddock --haddock --no-haddock-deps

Contact

Dino Morelli [email protected].

Metadata

Version

1.2.1

License

Platforms (76)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • 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-linux
  • 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