1#![cfg(feature = "messages")]
2use crate::{Entry, ErrorLog};
3use alloc::string::String;
4use log::LevelFilter;
5
6#[macro_export]
7macro_rules! log_error {
9 ($errlog: ident, $($msg: tt)+) => {
10 $errlog.push_message(error_log::LevelFilter::Error, format!($($msg)+));
11 };
12}
13#[macro_export]
14macro_rules! log_warn {
16 ($errlog: ident, $($msg: tt)+) => {
17 $errlog.push_message(error_log::LevelFilter::Warn, format!($($msg)+));
18 };
19}
20#[macro_export]
21macro_rules! log_info {
23 ($errlog: ident, $($msg: tt)+) => {
24 $errlog.push_message(error_log::LevelFilter::Info, format!($($msg)+));
25 };
26}
27#[macro_export]
28macro_rules! log_debug {
30 ($errlog: ident, $($msg: tt)+) => {
31 $errlog.push_message(error_log::LevelFilter::Debug, format!($($msg)+));
32 };
33}
34#[macro_export]
35macro_rules! log_trace {
37 ($errlog: ident, $($msg: tt)+) => {
38 $errlog.push_message(error_log::LevelFilter::Trace, format!($($msg)+));
39 };
40}
41
42impl<T, E> ErrorLog<T, E> {
43 pub fn max_level(&mut self, level: LevelFilter) -> &mut Self {
46 self.max_level = level;
47 self
48 }
49 pub fn max_level_debug(&mut self, release: LevelFilter, debug: LevelFilter) -> &mut Self {
51 self.max_level = match cfg!(debug_assertions) {
52 true => debug,
53 false => release,
54 };
55 self
56 }
57 pub fn get_max_level(&self) -> &LevelFilter {
59 &self.max_level
60 }
61 pub fn push_message(&mut self, level: LevelFilter, msg: impl Into<String>) -> &mut Self {
71 self.entries.push(Entry::new_message(level, msg.into()));
72 self
73 }
74}