blob: be4968b5a4994532f4553e9e77cf97bb189284f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
use crate::Monitoring;
use super::TracingBuilder;
use super::tracing_builder::{IsUnset, SetLokiTask, State};
use tracing_subscriber::Layer;
impl<S: State> TracingBuilder<S> {
pub fn loki(
mut self,
config: &crate::AppConfig,
monitoring: &Monitoring,
) -> Result<TracingBuilder<SetLokiTask<S>>, crate::ServiceError>
where
S::LokiTask: IsUnset,
{
use std::str::FromStr;
let url = FromStr::from_str(monitoring.loki_endpoint.as_ref())
.map_err(|_e| crate::ServiceError::Unknown)?;
let (layer, task) = tracing_loki::builder()
.label("service_name", config.name.as_ref())?
.extra_field("pid", format!("{}", std::process::id()))?
.build_url(url)?;
self.layers.push(layer.boxed());
Ok(self.loki_internal(task))
}
}
|