Add user-agent to request logging metadata
This commit is contained in:
parent
6d190bc98e
commit
5569d8e2a0
3 changed files with 13 additions and 3 deletions
|
|
@ -131,7 +131,7 @@ config :esbuild,
|
|||
# Configures Elixir's Logger
|
||||
config :logger, :console,
|
||||
format: "$time $metadata[$level] $message\n",
|
||||
metadata: [:request_id, :remote_ip]
|
||||
metadata: [:request_id, :remote_ip, :user_agent]
|
||||
|
||||
# Use Jason for JSON parsing in Phoenix
|
||||
config :phoenix, :json_library, Jason
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ config :hammer,
|
|||
# The `http:` config above can be replaced with:
|
||||
#
|
||||
# https: [
|
||||
config :logger, :console, format: "[$level] $metadata$message\n", metadata: [:remote_ip]
|
||||
config :logger, :console, format: "[$level] $metadata$message\n", metadata: [:remote_ip, :user_agent]
|
||||
|
||||
# Initialize plugs at runtime for faster development compilation
|
||||
# port: 4001,
|
||||
|
|
|
|||
|
|
@ -22,7 +22,17 @@ defmodule AprsmeWeb.Plugs.RemoteIp do
|
|||
:error -> conn
|
||||
end
|
||||
|
||||
Logger.metadata(remote_ip: conn.remote_ip |> :inet.ntoa() |> to_string())
|
||||
user_agent =
|
||||
case get_req_header(conn, "user-agent") do
|
||||
[ua | _] -> ua
|
||||
[] -> "-"
|
||||
end
|
||||
|
||||
Logger.metadata(
|
||||
remote_ip: conn.remote_ip |> :inet.ntoa() |> to_string(),
|
||||
user_agent: user_agent
|
||||
)
|
||||
|
||||
conn
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue