diff --git a/.gitignore b/.gitignore index 581c6c48..770e735d 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,6 @@ profiles.json # Stride API credentials (contains secrets - never commit) .stride_auth.md + +# Generated by nix, machine-specific paths +.pre-commit-config.yaml diff --git a/lib/towerops_web/endpoint.ex b/lib/towerops_web/endpoint.ex index 856e3745..30255675 100644 --- a/lib/towerops_web/endpoint.ex +++ b/lib/towerops_web/endpoint.ex @@ -66,16 +66,15 @@ defmodule ToweropsWeb.Endpoint do plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint], - log: :info, - metadata_filter: &__MODULE__.telemetry_metadata_filter/1 + log: {__MODULE__, :telemetry_log_level, []} - # Filter function for Plug.Telemetry - don't log health checks and uptime monitors - def telemetry_metadata_filter(metadata) do - case metadata do - %{conn: %{method: "GET", path_info: ["health"]}} -> false - %{conn: %{method: "GET", path_info: ["health", "time"]}} -> false - %{conn: %{method: "HEAD", path_info: []}} -> false - _ -> metadata + # Dynamic log level for Plug.Telemetry — suppresses logging for + # health checks and uptime monitors (filtered by FilterNoisyLogs plug). + def telemetry_log_level(conn) do + if conn.private[:plug_skip_telemetry] do + false + else + :info end end diff --git a/lib/towerops_web/router.ex b/lib/towerops_web/router.ex index b0fb4e39..bd2ab88c 100644 --- a/lib/towerops_web/router.ex +++ b/lib/towerops_web/router.ex @@ -72,7 +72,7 @@ defmodule ToweropsWeb.Router do # Health check endpoint for Kubernetes probes (no authentication required) scope "/", ToweropsWeb do - get "/health", HealthController, :index + get "/health", HealthController, :index, log: false end scope "/", ToweropsWeb do