LoggerJsonFileBackend is elixir logger
backend that writes json logs to a file.
This logger backend provides follow options:
name | description |
---|---|
path | log file path. this option is "MUST" |
level | minimum logging level. default is :info |
metadata | included metadata keys list. detault is empty list |
metadata_triming | if false, ignoring previous metadata options and all metadata are output. default is true. It is recommended true in production environment. |
json_encoder | using json encoder. default jason |
uuid | If true, add uuid field to record. Default is false. |
You need to add logger backend setting
config :logger,
backends: [{LoggerJSONFileBackend, :log_name}]
config :logger, :log_name,
path: "/var/log/my_app/app.log",
level: :info,
metadata: [:request_id, :user_id, :method, :path, :req_params],
json_encoder: Poison, # default is Jason
uuid: true
This module is assumed to be used with a custom plug logger.
Logger.info("request", [
method: conn.method,
path: conn.request_path,
req_params: conn.params,
])