Pārlūkot izejas kodu

Merge branch 'close-file-after-timebased-rotation' of https://github.com/rabbitmq/lager into rabbitmq-close-file-after-timebased-rotation

pull/316/head
Mark Allen pirms 9 gadiem
vecāks
revīzija
1ac1cc17ac
1 mainītis faili ar 12 papildinājumiem un 5 dzēšanām
  1. +12
    -5
      src/lager_file_backend.erl

+ 12
- 5
src/lager_file_backend.erl Parādīt failu

@ -178,16 +178,15 @@ handle_event(_Event, State) ->
%% @private
handle_info({rotate, File}, #state{name=File,count=Count,date=Date} = State) ->
_ = lager_util:rotate_logfile(File, Count),
State1 = close_file(State),
schedule_rotation(File, Date),
{ok, State};
{ok, State1};
handle_info(_Info, State) ->
{ok, State}.
%% @private
terminate(_Reason, #state{fd=FD}) ->
%% flush and close any file handles
_ = file:datasync(FD),
_ = file:close(FD),
terminate(_Reason, State) ->
close_file(State),
ok.
%% @private
@ -401,6 +400,14 @@ schedule_rotation(Name, Date) ->
erlang:send_after(lager_util:calculate_next_rotation(Date) * 1000, self(), {rotate, Name}),
ok.
close_file(#state{fd=undefined} = State) ->
State;
close_file(#state{fd=FD} = State) ->
%% Flush and close any file handles.
_ = file:datasync(FD),
_ = file:close(FD),
State#state{fd=undefined}.
-ifdef(TEST).
get_loglevel_test() ->

Notiek ielāde…
Atcelt
Saglabāt