diff --git a/config/config.exs b/config/config.exs index 2112925..16138da 100644 --- a/config/config.exs +++ b/config/config.exs @@ -46,7 +46,12 @@ config :tailwind, # Configures Elixir's Logger config :logger, :console, format: "$time $metadata[$level] $message\n", - metadata: [:request_id] + metadata: [:request_id], + filters: [:health_check_filter] + +config :logger, :health_check_filter, + module: ElixirAiWeb.HealthCheckFilter, + function: :filter # Use Jason for JSON parsing in Phoenix config :phoenix, :json_library, Jason diff --git a/lib/elixir_ai/application.ex b/lib/elixir_ai/application.ex index c183815..dae08e4 100644 --- a/lib/elixir_ai/application.ex +++ b/lib/elixir_ai/application.ex @@ -4,14 +4,6 @@ defmodule ElixirAi.Application do @impl true def start(_type, _args) do - # Attach telemetry handler to filter health check logs - :telemetry.attach( - "filter-health-logs", - [:phoenix, :endpoint, :stop], - &filter_health_logs/4, - nil - ) - children = [ ElixirAiWeb.Telemetry, ElixirAi.Repo, @@ -47,14 +39,4 @@ defmodule ElixirAi.Application do ElixirAiWeb.Endpoint.config_change(changed, removed) :ok end - - # Filter health check requests from telemetry logs - defp filter_health_logs(_event, _measurements, %{conn: %{request_path: "/health"}}, _config) do - :ok - end - - defp filter_health_logs(event, measurements, metadata, config) do - # Forward to default Phoenix logger - :telemetry.execute(event, measurements, metadata) - end end diff --git a/lib/elixir_ai_web/endpoint.ex b/lib/elixir_ai_web/endpoint.ex index f5bd0c5..7a89052 100644 --- a/lib/elixir_ai_web/endpoint.ex +++ b/lib/elixir_ai_web/endpoint.ex @@ -38,6 +38,7 @@ defmodule ElixirAiWeb.Endpoint do cookie_key: "request_logger" plug Plug.RequestId + plug ElixirAiWeb.Plugs.HealthCheckLogger plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint] plug Plug.Parsers,