mirror of
https://github.com/stalwartlabs/mail-server.git
synced 2024-09-20 07:16:18 +08:00
Do not hardcode logger id (fixes #348)
Some checks failed
trivy / Check (push) Failing after -7m51s
Some checks failed
trivy / Check (push) Failing after -7m51s
This commit is contained in:
parent
79297c37b0
commit
7b2941518a
|
@ -121,6 +121,7 @@ pub struct Tracers {
|
|||
pub struct Metrics {
|
||||
pub prometheus: Option<PrometheusMetrics>,
|
||||
pub otel: Option<Arc<OtelMetrics>>,
|
||||
pub log_path: Option<String>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Default)]
|
||||
|
@ -485,7 +486,7 @@ impl Tracers {
|
|||
EventType::Telemetry(TelemetryEvent::LogError).into()
|
||||
}
|
||||
TelemetrySubscriberType::OtelTracer(_) => {
|
||||
EventType::Telemetry(TelemetryEvent::OtelExpoterError).into()
|
||||
EventType::Telemetry(TelemetryEvent::OtelExporterError).into()
|
||||
}
|
||||
TelemetrySubscriberType::Webhook(_) => {
|
||||
EventType::Telemetry(TelemetryEvent::WebhookError).into()
|
||||
|
@ -607,8 +608,30 @@ impl Metrics {
|
|||
let mut metrics = Metrics {
|
||||
prometheus: None,
|
||||
otel: None,
|
||||
log_path: None,
|
||||
};
|
||||
|
||||
// Obtain log path
|
||||
for tracer_id in config.sub_keys("tracer", ".type") {
|
||||
if config
|
||||
.value(("tracer", tracer_id, "enable"))
|
||||
.unwrap_or("true")
|
||||
== "true"
|
||||
&& config
|
||||
.value(("tracer", tracer_id, "type"))
|
||||
.unwrap_or_default()
|
||||
== "log"
|
||||
{
|
||||
if let Some(path) = config
|
||||
.value(("tracer", tracer_id, "path"))
|
||||
.map(|s| s.to_string())
|
||||
{
|
||||
metrics.log_path = Some(path);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if config
|
||||
.property_or_default("metrics.prometheus.enable", "false")
|
||||
.unwrap_or(false)
|
||||
|
|
|
@ -62,9 +62,9 @@ impl Core {
|
|||
metrics.push(metric);
|
||||
}
|
||||
|
||||
TextEncoder::new()
|
||||
.encode_to_string(&metrics)
|
||||
.map_err(|e| trc::EventType::Telemetry(trc::TelemetryEvent::OtelExpoterError).reason(e))
|
||||
TextEncoder::new().encode_to_string(&metrics).map_err(|e| {
|
||||
trc::EventType::Telemetry(trc::TelemetryEvent::OtelExporterError).reason(e)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ pub(crate) fn spawn_otel_tracer(builder: SubscriberBuilder, mut otel: OtelTracer
|
|||
.await
|
||||
{
|
||||
trc::event!(
|
||||
Telemetry(TelemetryEvent::OtelExpoterError),
|
||||
Telemetry(TelemetryEvent::OtelExporterError),
|
||||
Details = "Failed to export spans",
|
||||
Reason = err.to_string()
|
||||
);
|
||||
|
@ -103,7 +103,7 @@ pub(crate) fn spawn_otel_tracer(builder: SubscriberBuilder, mut otel: OtelTracer
|
|||
.await
|
||||
{
|
||||
trc::event!(
|
||||
Telemetry(TelemetryEvent::OtelExpoterError),
|
||||
Telemetry(TelemetryEvent::OtelExporterError),
|
||||
Details = "Failed to export logs",
|
||||
Reason = err.to_string()
|
||||
);
|
||||
|
|
|
@ -26,13 +26,11 @@ struct LogEntry {
|
|||
|
||||
impl JMAP {
|
||||
pub async fn handle_view_logs(&self, req: &HttpRequest) -> trc::Result<HttpResponse> {
|
||||
// Obtain log file path
|
||||
let path = self
|
||||
.core
|
||||
.storage
|
||||
.config
|
||||
.get("tracer.log.path")
|
||||
.await?
|
||||
.metrics
|
||||
.log_path
|
||||
.clone()
|
||||
.ok_or_else(|| manage::unsupported("Tracer log path not configured"))?;
|
||||
|
||||
let params = UrlParams::new(req.uri().query());
|
||||
|
|
|
@ -90,7 +90,7 @@ impl JMAP {
|
|||
// Enforce anonymous rate limit
|
||||
self.is_anonymous_allowed(&session.remote_ip).await?;
|
||||
|
||||
Err(trc::AuthEvent::Error
|
||||
Err(trc::AuthEvent::Failed
|
||||
.into_err()
|
||||
.details("Missing Authorization header.")
|
||||
.caused_by(trc::location!()))
|
||||
|
|
|
@ -585,7 +585,7 @@ impl TelemetryEvent {
|
|||
TelemetryEvent::LogError => "Log collector error",
|
||||
TelemetryEvent::WebhookError => "Webhook collector error",
|
||||
TelemetryEvent::JournalError => "Journal collector error",
|
||||
TelemetryEvent::OtelExpoterError => "OpenTelemetry exporter error",
|
||||
TelemetryEvent::OtelExporterError => "OpenTelemetry exporter error",
|
||||
TelemetryEvent::OtelMetricsExporterError => "OpenTelemetry metrics exporter error",
|
||||
TelemetryEvent::PrometheusExporterError => "Prometheus exporter error",
|
||||
}
|
||||
|
|
|
@ -664,7 +664,7 @@ impl EventType {
|
|||
EventType::Telemetry(
|
||||
TelemetryEvent::LogError
|
||||
| TelemetryEvent::WebhookError
|
||||
| TelemetryEvent::OtelExpoterError
|
||||
| TelemetryEvent::OtelExporterError
|
||||
| TelemetryEvent::OtelMetricsExporterError
|
||||
| TelemetryEvent::PrometheusExporterError
|
||||
| TelemetryEvent::JournalError,
|
||||
|
|
|
@ -655,7 +655,7 @@ pub enum ServerEvent {
|
|||
pub enum TelemetryEvent {
|
||||
LogError,
|
||||
WebhookError,
|
||||
OtelExpoterError,
|
||||
OtelExporterError,
|
||||
OtelMetricsExporterError,
|
||||
PrometheusExporterError,
|
||||
JournalError,
|
||||
|
|
|
@ -842,7 +842,7 @@ impl EventType {
|
|||
EventType::Store(StoreEvent::UnexpectedError) => 533,
|
||||
EventType::Telemetry(TelemetryEvent::JournalError) => 534,
|
||||
EventType::Telemetry(TelemetryEvent::LogError) => 535,
|
||||
EventType::Telemetry(TelemetryEvent::OtelExpoterError) => 536,
|
||||
EventType::Telemetry(TelemetryEvent::OtelExporterError) => 536,
|
||||
EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError) => 537,
|
||||
EventType::Telemetry(TelemetryEvent::PrometheusExporterError) => 538,
|
||||
EventType::Telemetry(TelemetryEvent::WebhookError) => 539,
|
||||
|
@ -1431,7 +1431,7 @@ impl EventType {
|
|||
533 => Some(EventType::Store(StoreEvent::UnexpectedError)),
|
||||
534 => Some(EventType::Telemetry(TelemetryEvent::JournalError)),
|
||||
535 => Some(EventType::Telemetry(TelemetryEvent::LogError)),
|
||||
536 => Some(EventType::Telemetry(TelemetryEvent::OtelExpoterError)),
|
||||
536 => Some(EventType::Telemetry(TelemetryEvent::OtelExporterError)),
|
||||
537 => Some(EventType::Telemetry(
|
||||
TelemetryEvent::OtelMetricsExporterError,
|
||||
)),
|
||||
|
|
Loading…
Reference in a new issue