ExCut - CrossCutting concerns for your Elixir applications

ExCut

Introducing ExCut a library to inject concerns to your Elixir functions.

Motivation

Add cross-cutting concerns such as logging, timing, tracing, etc… to any functions in your application without cluttering your code base.

Sample Cold Cut…

use ExCut, marker: :log, pre: :pre_log, post: :post_log

@log level: :debug
def elvis(a) when is_number(a) , do: a

@log level: :info
def elvis(a) when is_binary(a), do: "Elvis is a " <> a

3 Likes