fix/suppress-health-check-logs (#47)

Reviewed-on: graham/towerops-web#47
This commit is contained in:
Graham McIntire 2026-03-16 15:22:12 -05:00 committed by graham
parent 26c7b0b993
commit 0fa1fa800b
3 changed files with 12 additions and 10 deletions

3
.gitignore vendored
View file

@ -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

View file

@ -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

View file

@ -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