1 mod support; 2 use support::*; 3 4 use tracing::subscriber::with_default; 5 use tracing::Level; 6 use tracing_attributes::instrument; 7 8 #[test] named_levels()9fn named_levels() { 10 #[instrument(level = "trace")] 11 fn trace() {} 12 13 #[instrument(level = "Debug")] 14 fn debug() {} 15 16 #[instrument(level = "INFO")] 17 fn info() {} 18 19 #[instrument(level = "WARn")] 20 fn warn() {} 21 22 #[instrument(level = "eRrOr")] 23 fn error() {} 24 let (subscriber, handle) = subscriber::mock() 25 .new_span(span::mock().named("trace").at_level(Level::TRACE)) 26 .enter(span::mock().named("trace").at_level(Level::TRACE)) 27 .exit(span::mock().named("trace").at_level(Level::TRACE)) 28 .new_span(span::mock().named("debug").at_level(Level::DEBUG)) 29 .enter(span::mock().named("debug").at_level(Level::DEBUG)) 30 .exit(span::mock().named("debug").at_level(Level::DEBUG)) 31 .new_span(span::mock().named("info").at_level(Level::INFO)) 32 .enter(span::mock().named("info").at_level(Level::INFO)) 33 .exit(span::mock().named("info").at_level(Level::INFO)) 34 .new_span(span::mock().named("warn").at_level(Level::WARN)) 35 .enter(span::mock().named("warn").at_level(Level::WARN)) 36 .exit(span::mock().named("warn").at_level(Level::WARN)) 37 .new_span(span::mock().named("error").at_level(Level::ERROR)) 38 .enter(span::mock().named("error").at_level(Level::ERROR)) 39 .exit(span::mock().named("error").at_level(Level::ERROR)) 40 .done() 41 .run_with_handle(); 42 43 with_default(subscriber, || { 44 trace(); 45 debug(); 46 info(); 47 warn(); 48 error(); 49 }); 50 51 handle.assert_finished(); 52 } 53 54 #[test] numeric_levels()55fn numeric_levels() { 56 #[instrument(level = 1)] 57 fn trace() {} 58 59 #[instrument(level = 2)] 60 fn debug() {} 61 62 #[instrument(level = 3)] 63 fn info() {} 64 65 #[instrument(level = 4)] 66 fn warn() {} 67 68 #[instrument(level = 5)] 69 fn error() {} 70 let (subscriber, handle) = subscriber::mock() 71 .new_span(span::mock().named("trace").at_level(Level::TRACE)) 72 .enter(span::mock().named("trace").at_level(Level::TRACE)) 73 .exit(span::mock().named("trace").at_level(Level::TRACE)) 74 .new_span(span::mock().named("debug").at_level(Level::DEBUG)) 75 .enter(span::mock().named("debug").at_level(Level::DEBUG)) 76 .exit(span::mock().named("debug").at_level(Level::DEBUG)) 77 .new_span(span::mock().named("info").at_level(Level::INFO)) 78 .enter(span::mock().named("info").at_level(Level::INFO)) 79 .exit(span::mock().named("info").at_level(Level::INFO)) 80 .new_span(span::mock().named("warn").at_level(Level::WARN)) 81 .enter(span::mock().named("warn").at_level(Level::WARN)) 82 .exit(span::mock().named("warn").at_level(Level::WARN)) 83 .new_span(span::mock().named("error").at_level(Level::ERROR)) 84 .enter(span::mock().named("error").at_level(Level::ERROR)) 85 .exit(span::mock().named("error").at_level(Level::ERROR)) 86 .done() 87 .run_with_handle(); 88 89 with_default(subscriber, || { 90 trace(); 91 debug(); 92 info(); 93 warn(); 94 error(); 95 }); 96 97 handle.assert_finished(); 98 } 99