summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHubert Plociniczak <hubert@lshift.net>2008-08-14 11:30:20 +0100
committerHubert Plociniczak <hubert@lshift.net>2008-08-14 11:30:20 +0100
commit1ac6911c3e8d2efd9b4d90ff7bf11a0ba166f8bb (patch)
tree152361dadd23b2d722cfeef72b69e5cd3465fd14 /src
parent4d423951f7e934e64f9f17c6c5545358c104b38c (diff)
downloadrabbitmq-server-git-1ac6911c3e8d2efd9b4d90ff7bf11a0ba166f8bb.tar.gz
Added reopen_logs command to rabbit_control
Diffstat (limited to 'src')
-rw-r--r--src/rabbit.erl27
-rw-r--r--src/rabbit_control.erl5
2 files changed, 31 insertions, 1 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index e65d532b2a..86f5d7745a 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -27,7 +27,7 @@
-behaviour(application).
--export([start/0, stop/0, stop_and_halt/0, status/0]).
+-export([start/0, stop/0, stop_and_halt/0, status/0, reopen_logs/0]).
-export([start/2, stop/1]).
@@ -49,6 +49,7 @@
-spec(start/0 :: () -> 'ok').
-spec(stop/0 :: () -> 'ok').
-spec(stop_and_halt/0 :: () -> 'ok').
+-spec(reopen_logs/0 :: () -> 'ok').
-spec(status/0 :: () ->
[{running_applications, [{atom(), string(), string()}]} |
{nodes, [node()]} |
@@ -85,6 +86,10 @@ status() ->
[{running_applications, application:which_applications()}] ++
rabbit_mnesia:status().
+reopen_logs() ->
+ ok = reopen_main_logs(),
+ ok = reopen_sasl_logs().
+
%%--------------------------------------------------------------------
manage_applications(Iterate, Do, Undo, SkipError, ErrorTag, Apps) ->
@@ -280,3 +285,23 @@ sasl_log_location() ->
{ok, Bad} -> throw({error, {cannot_log_to_file, Bad}});
_ -> undefined
end.
+
+reopen_main_logs() ->
+ case error_log_location() of
+ tty -> ok;
+ File -> error_logger:swap_handler({logfile, File})
+ end.
+
+reopen_sasl_logs() ->
+ try
+ case sasl_log_location() of
+ undefined -> ok;
+ tty -> ok;
+ {file, File} -> gen_event:swap_handler(error_logger,
+ {sasl_error_logger, swap},
+ {sasl_report_file_h, File});
+ _ -> ok
+ end
+ catch
+ _ -> ok
+ end.
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index ad796b61ae..115af8a63d 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -73,6 +73,7 @@ Available commands:
force_reset
cluster <ClusterNode> ...
status
+ reopen_logs
add_user <UserName> <Password>
delete_user <UserName>
@@ -124,6 +125,10 @@ action(reset, Node, []) ->
io:format("Resetting node ~p ...", [Node]),
call(Node, {rabbit_mnesia, reset, []});
+action(reopen_logs, Node, []) ->
+ io:format("Reopening logs for node ~p ...", [Node]),
+ call(Node, {rabbit, reopen_logs, []});
+
action(force_reset, Node, []) ->
io:format("Forcefully resetting node ~p ...", [Node]),
call(Node, {rabbit_mnesia, force_reset, []});