Something like this might work:
[
{lager, [
{handlers, [
{lager_file_backend, [
{file, "/var/log/dracs/debug.log"},
{level, debug},
{size, 10485760}, % 10 MB
{date, "$D0"},
{count, 2},
{formatter, lager_default_formatter},
{formatter_config, [time, " ", severity, ": ", message, "\n"]}
]},
{lager_file_backend, [
{file, "/var/log/dracs/error.log"},
{level, error},
{size, 10485760}, % 10 MB
{date, "$D0"},
{count, 2},
{formatter, lager_default_formatter},
{formatter_config, [time, " ", severity, ": ", message, "\n"]}
]}
]}
]}
].
I pulled the options from the lager_file_backend module code:
record(state, {
name :: string(),
level :: {'mask', integer()},
fd :: file:io_device() | undefined,
inode :: integer() | undefined,
flap=false :: boolean(),
size = 0 :: integer(),
date :: undefined | string(),
count = 10 :: integer(),
shaper :: lager_shaper(),
formatter :: atom(),
formatter_config :: any(),
sync_on :: {'mask', integer()},
check_interval = ?DEFAULT_CHECK_INTERVAL :: non_neg_integer(),
sync_interval = ?DEFAULT_SYNC_INTERVAL :: non_neg_integer(),
sync_size = ?DEFAULT_SYNC_SIZE :: non_neg_integer(),
last_check = os:timestamp() :: erlang:timestamp()
}).
Source: lager/lager_file_backend.erl at master · basho/lager · GitHub