Ask Bjørn Hansen d8b9cddfb8 feat(logger): deliver stderr to systemd journal with per-record priority
When stderr is connected to journald, switch from the plain text handler
to the native journal protocol via github.com/systemd/slog-journal. Each
record now carries PRIORITY, MESSAGE, and slog attributes as structured
fields, so journalctl -p and LogLevelMax= in unit files filter by
severity instead of dropping everything at once.

Detection follows systemd.exec(5): parse JOURNAL_STREAM as <dev>:<ino>
and fstat(2) stderr to confirm the match, guarding against processes
that inherit the env var but have stderr redirected elsewhere. The
fstat path is Linux-only; other platforms fall through to the existing
text handler.

Also honour DEBUG_INVOCATION by raising stderr to Debug level, matching
the behaviour of systemd.service(5) RestartMode=debug.
2026-04-12 14:01:07 -07:00
2025-06-06 19:50:30 -07:00
2025-06-06 19:08:16 -07:00
2025-09-21 12:10:05 -07:00
2024-01-20 11:48:32 -07:00
2025-06-06 19:56:43 -07:00

Common library for the NTP Pool project with shared infrastructure components.

Packages

  • apitls - TLS setup for NTP Pool internal services with embedded CA
  • config - NTP Pool project configuration with environment variables
  • ekko - Enhanced Echo web framework with observability middleware
  • health - Standalone health check HTTP server
  • kafka - Kafka client wrapper with TLS support
  • logger - Structured logging with OpenTelemetry integration
  • metricsserver - Prometheus metrics HTTP server
  • timeutil - JSON-serializable duration types
  • tracing - OpenTelemetry distributed tracing setup
  • types - Shared data structures for NTP Pool
  • ulid - Thread-safe ULID generation
  • version - Build metadata and version information
  • xff/fastlyxff - Fastly CDN IP range management

Go Reference

Description
No description provided
Readme BSD-3-Clause 329 KiB
Languages
Go 99.3%
Shell 0.6%