A simple Logger backend which writes logs to a file. It does not handle log
rotation for you, but it does tolerate log file renames, so it can be
used in conjunction with external log rotation.
Note The following of file renames does not work on Windows, because File.Stat.inode is used to determine whether the log file has been (re)moved and, on non-Unix, File.Stat.inode is always 0.
LoggerFileBackend supports the following configuration values:
- path - the path to the log file
- level - the logging level for the backend
- format - the logging format for the backend
- metadata - the metadata to include
backends =[debug: [path: "/path/to/debug.log", format: ..., metadata: ...],
error: [path: "/path/to/error.log", format: ..., metadata: ...]]
for {id, opts} <- backends do
backend = {LoggerFileBackend, id}
Logger.add_backend(backend)
Logger.configure(backend, opts)
endconfig :logger,
backends: [{LoggerFileBackend, :info},
{LoggerFileBackend, :error}]
config :logger, :info,
path: "/path/to/info.log",
level: :info
config :logger, :error,
path: "/path/to/error.log",
level: :error