1pub static LOG_NAME: &str = "Azalea";
6pub use glib;
7
8#[macro_export]
9macro_rules! error {
10 ($format:literal, $($arg:expr),* $(,)?) => {{
11 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Error, $format, $($arg),*);
12 panic!()
13 }};
14 ($format:literal $(,)?) => {{
15 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Error, $format);
16 panic!()
17 }};
18 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
19 $crate::error!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
20 }};
21 ($context:ty, $format:literal $(,)?) => {{
22 $crate::error!("[{}] {}", std::any::type_name::<$context>(), $format);
23 }};
24}
25
26#[macro_export]
27macro_rules! critical {
28 ($format:literal, $($arg:expr),* $(,)?) => {{
29 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Critical, $format, $($arg),*);
30 }};
31 ($format:literal $(,)?) => {{
32 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Critical, $format);
33 }};
34 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
35 $crate::critical!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
36 }};
37 ($context:ty, $format:literal $(,)?) => {{
38 $crate::critical!("[{}] {}", std::any::type_name::<$context>(), $format);
39 }};
40}
41
42#[macro_export]
43macro_rules! warning {
44 ($format:literal, $($arg:expr),* $(,)?) => {{
45 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Warning, $format, $($arg),*);
46 }};
47 ($format:literal $(,)?) => {{
48 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Warning, $format);
49 }};
50 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
51 $crate::warning!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
52 }};
53 ($context:ty, $format:literal $(,)?) => {{
54 $crate::warning!("[{}] {}", std::any::type_name::<$context>(), $format);
55 }};
56}
57
58#[macro_export]
59macro_rules! message {
60 ($format:literal, $($arg:expr),* $(,)?) => {{
61 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Message, $format, $($arg),*);
62 }};
63 ($format:literal $(,)?) => {{
64 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Message, $format);
65 }};
66 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
67 $crate::message!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
68 }};
69 ($context:ty, $format:literal $(,)?) => {{
70 $crate::message!("[{}] {}", std::any::type_name::<$context>(), $format);
71 }};
72}
73
74#[macro_export]
75macro_rules! info {
76 ($format:literal, $($arg:expr),* $(,)?) => {{
77 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Info, $format, $($arg),*);
78 }};
79 ($format:literal $(,)?) => {{
80 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Info, $format);
81 }};
82 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
83 $crate::info!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
84 }};
85 ($context:ty, $format:literal $(,)?) => {{
86 $crate::info!("[{}] {}", std::any::type_name::<$context>(), $format);
87 }};
88}
89
90#[macro_export]
91macro_rules! debug {
92 ($format:literal, $($arg:expr),* $(,)?) => {{
93 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Debug, $format, $($arg),*);
94 }};
95 ($format:literal $(,)?) => {{
96 $crate::glib::g_log!($crate::LOG_NAME, $crate::glib::LogLevel::Debug, $format);
97 }};
98 ($context:ty, $format:literal, $($arg:expr),* $(,)?) => {{
99 $crate::debug!("[{}] {}", std::any::type_name::<$context>(), format!($format, $($arg),*));
100 }};
101 ($context:ty, $format:literal $(,)?) => {{
102 $crate::debug!("[{}] {}", std::any::type_name::<$context>(), $format);
103 }};
104}