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}