Hello,
I have this in prod.exs
:
config :logger,
level: :info,
backends: [:console],
compile_time_purge_level: :info,
metadata: [:request_id],
format: "$time $metadata[$level] $metadata[$request_id] $message\n"
and I still get this like logger output:
13:55:01.183 [info] GET /sessions/new
13:55:01.185 [info] Sent 200 in 1ms
I use this:
Hex: 0.18.2
Elixir: 1.7.4
OTP: 21.1.1
distillery: 1.5.5
phoenix: 1.4.0
Any idea where can be problem?
You should rebuild phoenix for this to take effect (mix deps.clean
.)
This happens to me so often and I always forget. Basically, the format is specific to the backend, so you have to add this to your config:
config :logger, :console,
metadata: [:request_id],
format: "$time $metadata[$level] $metadata[$request_id] $message\n"
Edit: and IIRC $metadata
is just a list of the metadata variables. So you can’t “access” it. So you’re format probably should be: format: "$time $metadata[$level] $message\n"
or you’ll just repeat $metadata
twice (and I don’t think $request_id
will expand to anything at all)
1 Like
Prod still doesn’t work.
I got this in log:
10:02:56.476 [info] Sent 200 in 11ms
10:03:17.514 [info] POST /api/v1/
and I have this in config:
config :logger,
level: :info,
backends: [:console],
compile_time_purge_level: :info,
metadata: [:request_id],
format: "$time $metadata[$level] $metadata[$request_id] $message\n"
gmile
November 19, 2018, 11:02am
5
These lines are coming from Plug.Logger
, see this
. To remove them, add log: debug
to the plug init in your endpoint.ex
like this:
plug Plug.Logger, log: :debug
Those log lines will now only appear in development.