diff --git a/src/lager_rotator_behaviour.erl b/src/lager_rotator_behaviour.erl new file mode 100644 index 0000000..645cefb --- /dev/null +++ b/src/lager_rotator_behaviour.erl @@ -0,0 +1,18 @@ +-module(lager_rotator_behaviour). + +%% @doc Create a log file +-callback(create_logfile(Name::list(), Buffer::{integer(), integer()} | any()) -> + {ok, {file:io_device(), integer(), integer()}} | {error, any()}). + +%% @doc Open a log file +-callback(open_logfile(Name::list(), Buffer::{integer(), integer()} | any()) -> + {ok, {file:io_device(), integer(), integer()}} | {error, any()}). + +%% @doc Ensure reference to current target, could be rotated +-callback(ensure_logfile(Name::list(), FD::file:io_device(), Inode::integer(), + Buffer::{integer(), integer()} | any()) -> + {ok, {file:io_device(), integer(), integer()}} | {error, any()}). + +%% @doc Rotate the log file +-callback(rotate_logfile(Name::list(), Count::integer()) -> + ok). diff --git a/src/lager_util.erl b/src/lager_util.erl index aa1f443..df1a5c8 100644 --- a/src/lager_util.erl +++ b/src/lager_util.erl @@ -39,6 +39,8 @@ -include("lager.hrl"). +-behaviour(lager_rotator_behaviour). + levels() -> [debug, info, notice, warning, error, critical, alert, emergency, none].