use tauri::plugin::{Builder, TauriPlugin};
use tauri::Runtime;
use tauri_plugin_log::{Target, TargetKind, RotationStrategy, TimezoneStrategy};
use log::{info, error, debug, warn};
pub fn init<R: Runtime>() -> TauriPlugin<R> {
Builder::new("conquerstellar-core")
.setup(|app, _| {
app.plugin(tauri_plugin_store::Builder::new().build())?;
app.plugin(
tauri_plugin_log::Builder::new()
.level(log::LevelFilter::Debug)
.target(Target::new(TargetKind::Stdout))
.target(Target::new(TargetKind::LogDir {
file_name: Some("app".into()),
}))
.rotation_strategy(RotationStrategy::KeepAll)
.max_file_size(10_000_000)
.timezone_strategy(TimezoneStrategy::UseLocal)
.build(),
)?;
Ok(())
})
.invoke_handler(tauri::generate_handler![
log_info,
log_error,
log_debug,
log_warn
])
.build()
}
#[tauri::command]
fn log_info(message: String) {
info!("{}", message);
}
#[tauri::command]
fn log_error(message: String) {
error!("{}", message);
}
#[tauri::command]
fn log_debug(message: String) {
debug!("{}", message);
}
#[tauri::command]
fn log_warn(message: String) {
warn!("{}", message);
}