use pvxs_sys::{NTScalarMetadataBuilder, Server};
use std::thread;
use std::time::Duration;
fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("PVXS Logging Configuration Example\n");
println!("Method 1: Programmatic filtering");
println!(" Suppressing pvxs.tcp.io errors (socket disconnects)");
pvxs_sys::set_logger_level("pvxs.tcp.io", "CRIT")?;
println!("\nStarting server with filtered logging...\n");
let server = Server::start_isolated()?;
println!("Server started on TCP port: {}", server.tcp_port());
server.create_pv_double("test:pv", 42.0, NTScalarMetadataBuilder::new())?;
println!("\nTest with external client:");
println!(" pvput -s test:pv 100.0");
println!("\nSocket error 10054 messages should now be suppressed!");
println!("Press Ctrl+C to exit\n");
loop {
thread::sleep(Duration::from_secs(1));
}
}