diff options
| author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-02 16:06:44 +0100 |
|---|---|---|
| committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2011-08-02 16:06:44 +0100 |
| commit | 64b7039293f3d8d4619355853faca2713b15c8d5 (patch) | |
| tree | 70cc83b240e2f5cdc4d3ad28edd84623e5550a99 | |
| parent | d3509448afcd1f6f0783c13bc877560b43c9b5f5 (diff) | |
| download | rabbitmq-server-git-64b7039293f3d8d4619355853faca2713b15c8d5.tar.gz | |
log rabbitmqctl invocations on the remote node
| -rw-r--r-- | src/rabbit_control.erl | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index 6eb1aaba9a..8b20ad5147 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -17,7 +17,7 @@ -module(rabbit_control). -include("rabbit.hrl"). --export([start/0, stop/0, action/5, diagnostics/1]). +-export([start/0, stop/0, action/5, diagnostics/1, log_anytime/2]). -define(RPC_TIMEOUT, infinity). -define(WAIT_FOR_VM_ATTEMPTS, 5). @@ -51,6 +51,7 @@ -> 'ok'). -spec(diagnostics/1 :: (node()) -> [{string(), [any()]}]). -spec(usage/0 :: () -> no_return()). +-spec(log_anytime/2 :: (string(), [term()]) -> ok). -endif. @@ -73,6 +74,9 @@ start() -> Command = list_to_atom(Command0), Quiet = proplists:get_bool(?QUIET_OPT, Opts1), Node = proplists:get_value(?NODE_OPT, Opts1), + rpc_call(Node, rabbit_control, log_anytime, + ["~p executing 'rabbitmqctl ~p'~n", + [node(), init:get_plain_arguments()]]), Inform = case Quiet of true -> fun (_Format, _Args1) -> ok end; false -> fun (Format, Args1) -> @@ -109,6 +113,14 @@ start() -> fmt_stderr(Format, Args) -> rabbit_misc:format_stderr(Format ++ "~n", Args). +%% Log an info item on a remote node regardless of whether rabbit is +%% running there or not: first change the group leader to that of the +%% remote node, then use the standard error logger, because rabbit's +%% might not be running. +log_anytime(Format, Args) -> + group_leader(whereis(user), self()), + error_logger:info_msg(Format, Args). + print_report(Node, {Descr, Module, InfoFun, KeysFun}) -> io:format("~s:~n", [Descr]), print_report0(Node, {Module, InfoFun, KeysFun}, []). |
