summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlvaro Videla <videlalvaro@gmail.com>2015-10-02 15:22:46 +0200
committerAlvaro Videla <videlalvaro@gmail.com>2015-10-02 15:22:46 +0200
commit820b709d6d713a37ca0998d620c04a23336ca040 (patch)
treedec4e2d330b6438df589494ec42e20f41a7d4913 /src
parent16509fe08fdc9c0d965d70131ea282b72dd8b192 (diff)
downloadrabbitmq-server-git-820b709d6d713a37ca0998d620c04a23336ca040.tar.gz
uses rabbit_misc:version_compare/3 this time
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_error_logger_file_h.erl29
1 files changed, 6 insertions, 23 deletions
diff --git a/src/rabbit_error_logger_file_h.erl b/src/rabbit_error_logger_file_h.erl
index c84e2dd331..0758a98484 100644
--- a/src/rabbit_error_logger_file_h.erl
+++ b/src/rabbit_error_logger_file_h.erl
@@ -33,6 +33,7 @@
filename,
prev_handler,
depth = unlimited}).
+
%% extracted from error_logger_file_h. See comment above.
get_depth() ->
case application:get_env(kernel, error_logger_format_depth) of
@@ -42,6 +43,8 @@ get_depth() ->
unlimited
end.
+-define(ERTS_NEW_LOGGER_STATE, "7.1").
+
%% rabbit_error_logger_file_h is a wrapper around the error_logger_file_h
%% module because the original's init/1 does not match properly
%% with the result of closing the old handler when swapping handlers.
@@ -91,8 +94,10 @@ init_file(File, PrevHandler) ->
process_flag(trap_exit, true),
case file:open(File, [append]) of
{ok, Fd} ->
+ FoundVer = erlang:system_info(version),
State =
- case otp_release_181_or_newer() of
+ case rabbit_misc:version_compare(
+ ?ERTS_NEW_LOGGER_STATE, FoundVer, lte) of
true ->
#st{fd = Fd,
filename = File,
@@ -105,28 +110,6 @@ init_file(File, PrevHandler) ->
Error -> Error
end.
-%% OTP 18.1 introduced the new #st record.
-%% TODO we should use a proper Semver library.
-otp_release_181_or_newer() ->
- try
- case string:tokens(rabbit_misc:otp_release(), ".") of
- [Maj, Min | _ ] ->
- Maj1 = list_to_integer(Maj),
- Min1 = list_to_integer(Min),
- Maj1 >= 18 andalso Min1 >= 1;
- [Maj | _ ] ->
- Maj1 = list_to_integer(Maj),
- Maj1 >= 18;
- _ ->
- false
- end
- catch
- %% list_to_integer fails with badarg when string contains a
- %% bad representation of an integer.
- error:badarg ->
- false
- end.
-
handle_event(Event, State) ->
safe_handle_event(fun handle_event0/2, Event, State).