1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#[cfg(test)] mod tests { #[test] fn it_works() { assert_eq!(2 + 2, 4); } } #[doc(hidden)] pub enum Level { None = 0, Error = 1, Warn = 2, Info = 3, Debug = 4, Trace = 5, } #[doc(hidden)] pub fn level() -> Level { match () { #[cfg(debug_assertions)] () => { #[cfg(feature = "level-none")] return Level::None; #[cfg(feature = "level-error")] return Level::Error; #[cfg(feature = "level-warn")] return Level::Warn; #[cfg(feature = "level-info")] return Level::Info; #[cfg(feature = "level-debug")] return Level::Debug; #[cfg(feature = "level-trace")] return Level::Trace; Level::Debug } #[cfg(not(debug_assertions))] () => { #[cfg(feature = "release-level-none")] return Level::None; #[cfg(feature = "release-level-error")] return Level::Error; #[cfg(feature = "release-level-warn")] return Level::Warn; #[cfg(feature = "release-level-info")] return Level::Info; #[cfg(feature = "release-level-debug")] return Level::Debug; #[cfg(feature = "release-level-trace")] return Level::Trace; Level::Info } } }