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)
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.