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)
end
config :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