Skip to content

Commit

Permalink
record return values in the default log level
Browse files Browse the repository at this point in the history
  • Loading branch information
hkmatsumoto committed Nov 17, 2021
1 parent f7cd4c4 commit 16e8bf1
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 8 deletions.
4 changes: 2 additions & 2 deletions tracing-attributes/src/expand.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,8 +197,8 @@ fn gen_block<B: ToTokens>(
};

let ret_event = match args.ret_mode {
Some(FormatMode::Display) => Some(quote!(tracing::trace!(return = %x))),
Some(FormatMode::Debug) => Some(quote!(tracing::trace!(return = ?x))),
Some(FormatMode::Display) => Some(quote!(tracing::event!(#level, return = %x))),
Some(FormatMode::Debug) => Some(quote!(tracing::event!(#level, return = ?x))),
_ => None,
};

Expand Down
37 changes: 31 additions & 6 deletions tracing-attributes/tests/ret.rs
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ fn test() {
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::debug(42)))
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand All @@ -35,6 +35,31 @@ fn test() {
handle.assert_finished();
}

#[instrument(level = "warn", ret)]
fn ret_warn() -> i32 {
42
}

#[test]
fn test_warn() {
let span = span::mock().named("ret_warn");
let (collector, handle) = collector::mock()
.new_span(span.clone())
.enter(span.clone())
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::debug(42)))
.at_level(Level::WARN),
)
.exit(span.clone())
.drop_span(span)
.done()
.run_with_handle();

with_default(collector, ret_warn);
handle.assert_finished();
}

#[instrument(ret)]
fn ret_mut(a: &mut i32) -> i32 {
*a *= 2;
Expand All @@ -56,7 +81,7 @@ fn test_mut() {
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::display(2)))
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand All @@ -81,7 +106,7 @@ fn test_async() {
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::debug(42)))
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand All @@ -106,7 +131,7 @@ fn test_impl_type() {
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::debug(42)))
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand All @@ -131,7 +156,7 @@ fn test_dbg() {
.event(
event::mock()
.with_fields(field::mock("return").with_value(&tracing::field::debug(42)))
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand Down Expand Up @@ -189,7 +214,7 @@ fn test_ret_and_ok() {
.with_value(&tracing::field::display(u8::try_from(123).unwrap()))
.only(),
)
.at_level(Level::TRACE),
.at_level(Level::INFO),
)
.exit(span.clone())
.drop_span(span)
Expand Down

0 comments on commit 16e8bf1

Please sign in to comment.