ppx_log

Ppx_sexp_message-like extension nodes for lazily rendering log messages
README

A ppx rewriter that defines extension nodes for logging: primarily useful
to avoid the allocation of sexps that will never be logged.

[%log.debug log "example log" (content : Content.t)]
[%log.global.debug "example log" (content : Content.t)]

How to add to your project

You can simply open Async in the files that you want to log with
Async.Log. Additionally, open Async.Ppx_log_syntax.No_global will
prevent you from using Log.Global if you want to avoid the global log.

ppx_log can add source code position to each logged message,
configurable at a library level by the -log-source-position switch:

(preprocess (pps (ppx_jane ... -log-source-position)))

Finally [%log.debug] to your heart's content!

Tests and examples

Take a look at the mdx file for tested examples.

Install
Published
21 Mar 2022
Sources
ppx_log-v0.15.0.tar.gz
sha256=037aa3c8c4dca5c7ce9154e981c146c92faeeac456931cf3c9496b4f9698763e
Dependencies
ppxlib
>= "0.23.0"
dune
>= "2.0.0"
sexplib
>= "v0.15" & < "v0.16"
ppx_sexp_message
>= "v0.15" & < "v0.16"
ppx_sexp_conv
>= "v0.15" & < "v0.16"
ppx_here
>= "v0.15" & < "v0.16"
base
>= "v0.15" & < "v0.16"
ocaml
>= "4.08.0"
Reverse Dependencies
async
>= "v0.15.0"
ppx_jane
>= "v0.15.0"