This commit is contained in:
mdecimus
2024-08-01 17:09:39 +02:00
parent ed214fd087
commit 3cb8918d2e
34 changed files with 500 additions and 388 deletions

View File

@@ -91,7 +91,7 @@ impl Tracers {
// Parse custom logging levels
let mut custom_levels = AHashMap::new();
for event_name in config
.sub_keys("tracing.level", "")
.prefix("tracing.level")
.map(|s| s.to_string())
.collect::<Vec<_>>()
{
@@ -176,17 +176,30 @@ impl Tracers {
continue;
}
}
"console" | "stdout" | "stderr" => TracerType::Console(ConsoleTracer {
ansi: config
.property_or_default(("tracer", id, "ansi"), "true")
.unwrap_or(true),
multiline: config
.property_or_default(("tracer", id, "multiline"), "false")
.unwrap_or(false),
buffered: config
.property_or_default(("tracer", id, "buffered"), "true")
.unwrap_or(true),
}),
"console" | "stdout" | "stderr" => {
if !tracers
.iter()
.any(|t| matches!(t.typ, TracerType::Console(_)))
{
TracerType::Console(ConsoleTracer {
ansi: config
.property_or_default(("tracer", id, "ansi"), "true")
.unwrap_or(true),
multiline: config
.property_or_default(("tracer", id, "multiline"), "false")
.unwrap_or(false),
buffered: config
.property_or_default(("tracer", id, "buffered"), "true")
.unwrap_or(true),
})
} else {
config.new_build_error(
("tracer", id, "type"),
"Only one console tracer is allowed".to_string(),
);
continue;
}
}
"otel" | "open-telemetry" => {
let timeout = config
.property::<Duration>(("tracer", id, "timeout"))
@@ -477,6 +490,7 @@ impl Tracers {
}
// Add default tracer if none were found
#[cfg(not(feature = "test_mode"))]
if tracers.is_empty() {
for event_type in EventType::variants() {
let event_level = custom_levels
@@ -493,7 +507,7 @@ impl Tracers {
interests: global_interests.clone(),
typ: TracerType::Console(ConsoleTracer {
ansi: true,
multiline: true,
multiline: false,
buffered: true,
}),
lossy: false,

View File

@@ -133,7 +133,7 @@ impl TcpAcceptor {
let key = core.build_acme_certificate(domain).await;
trc::event!(
Acme(trc::AcmeEvent::ClientSuppliedSNI),
Acme(trc::AcmeEvent::ClientSuppliedSni),
ListenerId = instance.id.clone(),
Protocol = instance.protocol,
Name = domain.to_string(),
@@ -144,7 +144,7 @@ impl TcpAcceptor {
}
None => {
trc::event!(
Acme(trc::AcmeEvent::ClientMissingSNI),
Acme(trc::AcmeEvent::ClientMissingSni),
ListenerId = instance.id.clone(),
Protocol = instance.protocol,
);

View File

@@ -299,12 +299,12 @@ impl Subscriber {
// https://systemd.io/JOURNAL_NATIVE_PROTOCOL/
use std::os::unix::prelude::AsRawFd;
// Write the whole payload to a memfd
let mut mem = memfd::create_sealable()?;
let mut mem = create_sealable()?;
mem.write_all(payload)?;
// Fully seal the memfd to signal journald that its backing data won't resize anymore
// and so is safe to mmap.
memfd::seal_fully(mem.as_raw_fd())?;
socket::send_one_fd_to(&self.socket, mem.as_raw_fd(), JOURNALD_PATH)
seal_fully(mem.as_raw_fd())?;
send_one_fd_to(&self.socket, mem.as_raw_fd(), JOURNALD_PATH)
}
}