diff options
| author | Alvaro Videla <videlalvaro@gmail.com> | 2015-10-02 15:22:46 +0200 |
|---|---|---|
| committer | Alvaro Videla <videlalvaro@gmail.com> | 2015-10-02 15:22:46 +0200 |
| commit | 820b709d6d713a37ca0998d620c04a23336ca040 (patch) | |
| tree | dec4e2d330b6438df589494ec42e20f41a7d4913 /src | |
| parent | 16509fe08fdc9c0d965d70131ea282b72dd8b192 (diff) | |
| download | rabbitmq-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.erl | 29 |
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). |
