logcall

An attribute macro that logs the return value from function call.

This is a reimplementation of the log-derive crate with async-trait compatibility.

Usage

```rust use logcall::logcall;

[logcall("info")]

fn foo(a: usize) -> usize { a + 1 }

[logcall(err = "error")]

fn bar(a: usize) -> Result { Err(a + 1) }

[logcall(ok = "info", err = "error")]

fn baz(a: usize) -> Result { Ok(a + 1) }

fn main() { envlogger::builder().filterlevel(log::LevelFilter::Info).init(); foo(1); bar(1).ok(); baz(1).ok(); }

// prints: // [2023-07-22T06:55:10Z INFO main] foo() => 2 // [2023-07-22T06:55:10Z ERROR main] bar() => Err(2) // [2023-07-22T06:55:10Z INFO main] baz() => Ok(2) ```