|
1 | | -use std::io; |
| 1 | +use std::{env, io}; |
2 | 2 |
|
3 | 3 | use tracing::Level; |
4 | | -use tracing_loki::BackgroundTask; |
5 | 4 | use tracing_loki::url::Url; |
6 | | -use tracing_subscriber::{filter, fmt}; |
| 5 | +use tracing_loki::BackgroundTask; |
7 | 6 | use tracing_subscriber::layer::SubscriberExt; |
8 | 7 | use tracing_subscriber::util::SubscriberInitExt; |
| 8 | +use tracing_subscriber::{filter, fmt}; |
9 | 9 | use warp::hyper::Client; |
10 | 10 |
|
11 | | -const LOKI_BASE_URL: &str = "http://127.0.0.1:3100"; |
12 | | - |
13 | | -fn build_loki_layer() -> (tracing_loki::Layer, BackgroundTask) { |
| 11 | +fn build_loki_layer(url: &str) -> (tracing_loki::Layer, BackgroundTask) { |
14 | 12 | tracing_loki::layer( |
15 | | - Url::parse(LOKI_BASE_URL).unwrap(), |
| 13 | + Url::parse(url).unwrap(), |
16 | 14 | vec![("host".into(), "rusty_controller".into())] |
17 | 15 | .into_iter() |
18 | 16 | .collect(), |
19 | 17 | vec![].into_iter().collect(), |
20 | 18 | ) |
21 | | - .unwrap() |
| 19 | + .unwrap() |
22 | 20 | } |
23 | 21 |
|
24 | 22 | pub async fn setup_loki() { |
25 | 23 | let filter = filter::Targets::new() |
26 | 24 | .with_target("rusty_controller", Level::TRACE) |
27 | 25 | .with_default(Level::WARN); |
28 | 26 |
|
29 | | - let registry = tracing_subscriber::registry().with(filter).with( |
30 | | - fmt::layer() |
31 | | - .with_writer(io::stdout) |
32 | | - ); |
| 27 | + let registry = tracing_subscriber::registry() |
| 28 | + .with(filter) |
| 29 | + .with(fmt::layer().with_writer(io::stdout)); |
33 | 30 |
|
34 | 31 | let http = Client::new(); |
| 32 | + let loki_base_url = env::var("LOKI_BASE_URL").unwrap_or("http://127.0.0.1:3100".into()); |
35 | 33 |
|
36 | | - match http.get(LOKI_BASE_URL.parse().unwrap()).await { |
| 34 | + match http.get(loki_base_url.parse().unwrap()).await { |
37 | 35 | Ok(_) => { |
38 | 36 | let (layer, task) = build_loki_layer(); |
39 | 37 |
|
|
0 commit comments