feat: add basic logging

This commit is contained in:
Ryan 2025-02-15 20:05:12 -05:00
parent 4fa508ec81
commit a937db0be6
Signed by: ErrorNoInternet
GPG Key ID: 2486BFB7B1E6A4A3
6 changed files with 48 additions and 8 deletions

1
Cargo.lock generated
View File

@ -1180,6 +1180,7 @@ dependencies = [
"azalea",
"clap",
"futures",
"log",
"mlua",
"parking_lot",
"tokio",

View File

@ -20,6 +20,7 @@ anyhow = "1"
azalea = { git = "https://github.com/azalea-rs/azalea.git" }
clap = { version = "4", features = ["derive"] }
futures = "0"
log = { version = "0" }
mlua = { version = "0", features = ["async", "luau", "send"] }
parking_lot = { version = "0" }
tokio = { version = "1", features = ["macros"] }

View File

@ -1,5 +1,6 @@
use crate::{State, commands::CommandSource, scripting};
use azalea::prelude::*;
use log::info;
use mlua::Function;
pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow::Result<()> {
@ -7,7 +8,7 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow:
match event {
Event::Chat(message) => {
println!("{}", message.message().to_ansi());
info!("{}", message.message().to_ansi());
let owners = globals.get::<Vec<String>>("OWNERS")?;
if message.is_whisper()

View File

@ -50,13 +50,8 @@ async fn main() -> ExitCode {
eprintln!("failed to set config_path in lua globals: {error:?}");
return ExitCode::FAILURE;
};
let Ok(server) = globals.get::<String>("Server") else {
eprintln!("no server defined in lua globals!");
return ExitCode::FAILURE;
};
let Ok(username) = globals.get::<String>("Username") else {
eprintln!("no username defined in lua globals!");
if let Err(error) = scripting::logging::init(&lua, &globals) {
eprintln!("failed to set up logging wrappers: {error:?}");
return ExitCode::FAILURE;
};

41
src/scripting/logging.rs Normal file
View File

@ -0,0 +1,41 @@
use log::{debug, error, info, trace, warn};
use mlua::{Lua, Result, Table};
pub fn init(lua: &Lua, globals: &Table) -> Result<()> {
globals.set(
"error",
lua.create_function(|_, message: String| {
error!("{message}");
Ok(())
})?,
)?;
globals.set(
"warn",
lua.create_function(|_, message: String| {
warn!("{message}");
Ok(())
})?,
)?;
globals.set(
"info",
lua.create_function(|_, message: String| {
info!("{message}");
Ok(())
})?,
)?;
globals.set(
"debug",
lua.create_function(|_, message: String| {
debug!("{message}");
Ok(())
})?,
)?;
globals.set(
"trace",
lua.create_function(|_, message: String| {
trace!("{message}");
Ok(())
})?,
)?;
Ok(())
}

View File

@ -1,2 +1,3 @@
pub mod client;
pub mod logging;
pub mod position;