summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Lebedeff <alebedev@mirantis.com>2017-03-22 18:44:09 +0300
committerAlexey Lebedeff <alebedev@mirantis.com>2017-03-22 18:44:09 +0300
commit76f966843ae422f9eb84611496a1060361a3ae14 (patch)
tree331a0efd4eb742d5dd62fc9b64fd07e153566a17
parent49eba46c923b472391c5528e3531c375af3fcfc2 (diff)
downloadrabbitmq-server-git-76f966843ae422f9eb84611496a1060361a3ae14.tar.gz
Fix lager initialization code
Setting env var to 'undefined' is different from not setting it at all, and lager is sensitive to this distinction in its 'log_root' parameter. There will be a crash when rabbit is started without the help of startup scripts (i.e. from `make shell` or in the embedded mode).
-rw-r--r--src/rabbit_lager.erl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/rabbit_lager.erl b/src/rabbit_lager.erl
index c1ed613088..5856f1f042 100644
--- a/src/rabbit_lager.erl
+++ b/src/rabbit_lager.erl
@@ -182,9 +182,15 @@ configure_lager() ->
end,
case application:get_env(lager, log_root) of
undefined ->
- application:set_env(lager, log_root,
- application:get_env(rabbit, lager_log_root,
- undefined));
+ %% Setting env var to 'undefined' is different from not
+ %% setting it at all, and lager is sensitive to this
+ %% difference.
+ case application:get_env(rabbit, lager_log_root, undefined) of
+ {ok, FromRabbitConfig} ->
+ application:set_env(lager, log_root, FromRabbitConfig);
+ _ ->
+ ok
+ end;
_ -> ok
end,