summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert@lshift.net>2008-09-04 11:12:11 +0100
committerHubert Plociniczak <hubert@lshift.net>2008-09-04 11:12:11 +0100
commitf584600a7cd0c3f48c43aa8d907e2e3883f0e588 (patch)
treec97a213743f97bc78d40141a3e54ffa5be4b332c /src/rabbit.erl
parent4cd83964b6b4d7a68e233621a5830a1d9a3af9ab (diff)
downloadrabbitmq-server-git-f584600a7cd0c3f48c43aa8d907e2e3883f0e588.tar.gz
Moved log configuration to start/0,
throw more informative errors
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 2d309c0505..4cb11f4f37 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -67,6 +67,7 @@
start() ->
try
+ ok = ensure_working_log_handlers(),
ok = rabbit_mnesia:ensure_mnesia_dir(),
ok = start_applications(?APPS)
after
@@ -148,9 +149,7 @@ start(normal, []) ->
apply(M, F, A),
io:format("done~n")
end,
- [{"log configuration",
- fun () -> ok = ensure_working_log_handlers() end},
- {"database",
+ [{"database",
fun () -> ok = rabbit_mnesia:init() end},
{"core processes",
fun () ->
@@ -253,16 +252,26 @@ ensure_working_log_handlers() ->
ensure_working_log_handler(OldFHandler, NewFHandler, TTYHandler,
LogLocation, Handlers) ->
- case LogLocation of
+ case LogLocation of
undefined -> ok;
- tty -> true = lists:member(TTYHandler, Handlers), ok;
+ tty -> case lists:member(TTYHandler, Handlers) of
+ true -> ok;
+ false ->
+ throw({error, {cannot_log_to_tty,
+ TTYHandler, not_installed}})
+ end;
_ -> case lists:member(NewFHandler, Handlers) of
true -> ok;
- false -> rotate_logs(LogLocation, "",
- OldFHandler, NewFHandler)
+ false -> case rotate_logs(LogLocation, "",
+ OldFHandler, NewFHandler) of
+ ok -> ok;
+ {error, Reason} ->
+ throw({error, {cannot_log_to_file,
+ LogLocation, Reason}})
+ end
end
end.
-
+
maybe_insert_default_data() ->
case rabbit_mnesia:is_db_empty() of
true -> insert_default_data();