atri_plugin/
log.rs

1use crate::loader::{get_plugin_handle, get_plugin_manager, get_vtb};
2use atri_ffi::RustStr;
3
4#[macro_export]
5macro_rules! trace {
6    ($($arg:tt)*) => {
7        $crate::log::__log_info(0, &format!($($arg)*))
8    };
9}
10
11#[macro_export]
12macro_rules! debug {
13    ($($arg:tt)*) => {
14        $crate::log::__log_info(1, &format!($($arg)*))
15    };
16}
17
18#[macro_export]
19macro_rules! info {
20    ($($arg:tt)*) => {
21        $crate::log::__log_info(2, &format!($($arg)*))
22    };
23}
24
25#[macro_export]
26macro_rules! warn {
27    ($($arg:tt)*) => {
28        $crate::log::__log_info(3, &format!($($arg)*))
29    };
30}
31
32#[macro_export]
33macro_rules! error {
34    ($($arg:tt)*) => {
35        $crate::log::__log_info(4, &format!($($arg)*))
36    };
37}
38
39pub fn __log_info(level: u8, str: &str) {
40    let ffi = RustStr::from(str);
41    (get_vtb().log)(get_plugin_handle(), get_plugin_manager(), level, ffi);
42}