package easy_logging

  1. Overview
  2. Docs
Module to log messages. Aimed at being both powerful and easy to use

Install

Dune Dependency

Authors

Maintainers

Sources

v0.7.1.tar.gz
md5=ff59e729374d66cc927de16bd7b82dea
sha512=ca31fd39edab9a9592e9d5b2646dccc750037f823c4195de4b5ce4760e9463df1576806f850911ef96b359a45c35cc25f160860aa87b5519cf8b8feca8a68deb

Description

Logging infrastructure inspired by the Python logging module. The aim of this module is to provide a quick and easy to use logging infrastructure.

It has the following features :

  • one line logger creation
  • log messages printf style, or [string] or [string lazy_t]
  • tree logging architecture for light configuration
  • handlers associated to each logger will format, filter and treat the message independantly.
  • use the infrastructure with your own handlers with the [MakeLogging] functor.
  • use tags to add contextual information to log messages

Published: 08 Nov 2019

README

README.md

Logging module for OCaml.

Quick start :

open Easy_logging
logger = Logging.make_logger "my_logger" Debug [Cli Debug];;
logger#info "log_message";;

See documentation at https://sapristi.github.io/easy_logging/easy_logging

Changelog

Version 0.4

  • printf style logging is now the default

  • simplifed configuration in case of multiple loggers (and closer to the python module) : the loggers form a tree (based on their name, dots indicating descendence)

    • log items are passed to the handlers of a logger’s ancestors (so that few handlers need initialisation) (possible to override)

    • loggers inherit the level of their ancestor if not set explicitely

  • an additional package easy_logging_yojson provides initialisation of loggers from the json format (with ppx_deriving_yojson), so that configuration can be fully done outside the code.

Version 0.5

  • Renamed the Default_handlers module to handlers

  • tag type in Handlers is now string (was unit)

  • added the possibility to add filters to handlers

  • added tag_generator feature to loggers, to automatically add tags to all messages passed to a logger

version 0.5.1
  • log_level type is direcly accessible from Easy_logging and Easy_logging_yojson modules

version 0.5.2
  • more file_handler options (timestamp, versioning)

Version 0.6

  • Added more options to file handlers (automatic timestamps and/or versioning of file names)

  • Added CliErr handler to output to stderr

  • modified handlers type so that fully custom handlers can be instantiated

  • cleaned module API

  • log items contains a timestamp

Version 0.6.2
  • Added RotatingFile handlers : log file rotation based on file size

Version 0.7

  • added tree_to_yojson function

  • added level_of_string to Logging

  • logger level is no more option type (NoLevel takes the role of None)

  • fix json formatter

Dependencies (3)

  1. calendar >= "2.0"
  2. dune >= "1.8"
  3. ocaml >= "4.04.0"

Dev Dependencies

None

Used by (2)

  1. easy_logging_yojson = "0.7.1"
  2. little_logger < "0.3.0"

Conflicts

None