use rconsole::*;
use serde_json::json;
#[derive(serde::Serialize, Debug)]
struct User {
name: String,
age: u32,
email: String,
}
fn main() {
NConsole::set_uri("10.10.61.192");
NConsole::set_enable(true);
println!("Sending logs to ws://10.10.61.192:9090 ...");
nlog!("Hello from Rust! 🦀");
ninfo!("Server started on port", 8080);
nwarn!("Memory usage:", 85.5, "%");
nerror!("Connection timeout", json!({"code": 504, "retry": true}));
nlog!("Mixed types:", 42, true, 3.14, json!({"key": "value"}));
let user = User {
name: "Alex".into(),
age: 25,
email: "alex@example.com".into(),
};
nlog!("User logged in:", user);
ngroup!("HTTP Request #1234");
nlog!("Method:", "GET");
nlog!("Path:", "/api/users");
nlog!("Status:", 200, "OK");
nlog!("Duration:", 42, "ms");
ngroup_end!();
ngroup_collapsed!("Response Body");
nlog!(json!({
"users": [
{"name": "Alex", "age": 25},
{"name": "Bob", "age": 30},
],
"total": 2,
"page": 1
}));
ngroup_end!();
ngroup!("Database Operations");
nlog!("Connected to PostgreSQL");
ngroup_collapsed!("Query #1");
nlog!("SELECT * FROM users WHERE active = true");
nlog!("Rows:", 42, "Duration:", 12, "ms");
ngroup_end!();
ngroup_collapsed!("Query #2");
nlog!("INSERT INTO logs (action, timestamp) VALUES (?, ?)");
nlog!("Affected rows:", 1);
ngroup_end!();
ngroup_end!();
nlog!(
"%cSuccess!",
"color: green; font-size: 20px; font-weight: bold"
);
std::thread::sleep(std::time::Duration::from_secs(1));
println!("Done! Check NConsole app.");
}