diff --git a/xtask/src/log_client.rs b/xtask/src/log_client.rs new file mode 100644 index 00000000..9cbe657a --- /dev/null +++ b/xtask/src/log_client.rs @@ -0,0 +1,21 @@ +use std::{io::Write, net::TcpStream}; + +use anyhow::Result; + +pub fn log_client() -> Result<()> { + let port = std::env::args().nth(2).expect("Missing Port"); + let mut stream = TcpStream::connect(format!("127.0.0.1:{port}"))?; + loop { + let mut input = String::new(); + let user_entered = std::io::stdin().read_line(&mut input)?; + if user_entered == 0 { + break; + } + let message = format!( + "{{\"type\": 0, \"message\": \"{}\", \"senderName\": \"xtask\", \"senderType\": \"log_client\"}}\n", + input.trim() + ); + stream.write_all(message.as_bytes())?; + } + Ok(()) +} diff --git a/xtask/src/main.rs b/xtask/src/main.rs index b688fbfd..0d5f6103 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -7,6 +7,7 @@ use regex::RegexBuilder; mod cli_tasks; mod gui_tasks; +mod log_client; mod log_spammer; pub fn get_out_dir() -> Result { @@ -41,6 +42,7 @@ fn main() -> Result<()> { "cli_pkg_build" => generate_cli_pkg_build()?, "gui_pkg_build" => generate_gui_pkg_build()?, "cli_version" => print_version()?, + "log_client" => log_client::log_client()?, "spam_logs" => log_spammer::spam_logs( std::env::args() .nth(2)