quickwit_example/
quickwit_example.rs1use std::{thread, time};
6
7use log::{error, info, warn};
8use log_full::{Builder, QuickwitConfig};
9
10fn main() -> Result<(), Box<dyn std::error::Error>> {
11 let quickwit_config =
13 QuickwitConfig::new("http://localhost:7280".to_string(), "log_full".to_string())
14 .with_timeout(30)
15 .with_batch_size(50); Builder::new()
19 .level(log::LevelFilter::Info)
20 .use_console(true)
21 .log_file("logs/quickwit_example.log".to_string())
22 .log_file_max(10 * 1024 * 1024) .quickwit(quickwit_config)
24 .builder()?;
25
26 loop {
27 info!("这是一条信息日志,将被发送到 Quickwit");
29 warn!("这是一条警告日志,包含关键信息: user_id=12345");
30 error!("这是一条错误日志,错误代码: E001");
31
32 info!(
34 "用户登录成功: user={}, ip={}, timestamp={}",
35 "alice",
36 "192.168.1.100",
37 std::time::SystemTime::now()
38 .duration_since(std::time::UNIX_EPOCH)
39 .unwrap()
40 .as_secs()
41 );
42
43 println!("日志已记录并发送到 Quickwit(如果配置正确)");
44 println!("请检查 Quickwit 索引 'log_full' 中的日志条目");
45
46 log::logger().flush();
48 std::thread::sleep(std::time::Duration::from_millis(1000));
49
50 println!("所有日志处理完成");
51 thread::sleep(time::Duration::from_secs(3));
52 }
53
54 }