Skip to content

fluent/fluent-logger-ocaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fluent-logger-ocaml

A structured logger for Fluentd (OCaml)

Features

  • Inet/Unix domain sockets are available
  • Buffering data on memory if failed to send
  • Persistent connection
  • Exponential backoff for reconnection

Build

$ make clean
$ make
$ make install

Build

$ make test

Usage

example.ml:

let () =
  let module L = Fluent_logger in
  let logger = (* Fluent_logger.t *)
    (* INET domain socket *)
    L.create ()
    (* UNIX domain socket *)
    (* L.create_for_unix path *) 
  in
  L.post logger "production" (
    `FixMap [
      (L.of_string "id",   L.uint8_of_int i);
      (L.of_string "name", L.of_string "foobar");
      (L.of_string "age",  L.uint8_of_int 81);
      (L.of_string "pi",   L.of_float 3.14)
    ]
  );
  L.release logger

compile:

ocamlfind c -o example -package fluent-logger -linkpkg example.ml

About

A structured logger for Fluentd (OCaml)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages