【发布时间】:2018-07-05 02:13:37
【问题描述】:
我有一个 /ping 路由,它在生产中被负载均衡器和 kubernetes 健康检查调用了很多。我想将Plug.Logger 的日志级别设置为:debug 仅针对那条路线。
defmodule Web.Endpoint do
...
forward "/ping", Web.HealthCheck
...
end
defmodule Web.HealthCheck do
use Plug.Router
plug :match
plug :dispatch
get "/" do
send_resp(conn, 200, "ok")
end
end
我还没有找到修改或删除现有插件的方法。我尝试将plug Plug.Logger, log: :debug 添加到 Web.HealthCheck,但后来我只是在不同级别记录了两次路由
[info] GET /ping
[debug] GET /ping
我找到了一种方法,通过从 endpoint.ex 中删除 plug Plug.Logger 并根据需要手动添加回 https://elixirforum.com/t/disable-logging-on-specific-route/622,来完全禁用特定路由的日志记录,但是我必须小心记住以确保日志记录是为我添加的每条新路由启用,实际上我更希望将 /ping 路由设置为调试,以便它可以根据需要登录开发,但在生产中不会那么垃圾。
【问题讨论】:
标签: logging elixir phoenix-framework