diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2013-08-01 04:58:32 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-08-01 04:58:32 +0100 |
commit | 28b7430489dce992c935a04d51b8b87f6a0e3538 (patch) | |
tree | 121ae765f362285c4fd593ea922e1a6ae14d1f95 /src/rabbit_error_logger.erl | |
parent | 56cf607740f4db887b8b97058b4f85b08a89a239 (diff) | |
download | rabbitmq-server-28b7430489dce992c935a04d51b8b87f6a0e3538.tar.gz |
add/remove log handler at precise point in system lifecyclebug25594
Previously the handler stuck around for too long in the event of
failed startup, resulting in spurious errors.
Diffstat (limited to 'src/rabbit_error_logger.erl')
-rw-r--r-- | src/rabbit_error_logger.erl | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/rabbit_error_logger.erl b/src/rabbit_error_logger.erl index 184dcf17..17ed8563 100644 --- a/src/rabbit_error_logger.erl +++ b/src/rabbit_error_logger.erl @@ -22,7 +22,7 @@ -behaviour(gen_event). --export([boot/0]). +-export([start/0, stop/0]). -export([init/1, terminate/2, code_change/3, handle_call/2, handle_event/2, handle_info/2]). @@ -31,16 +31,23 @@ -ifdef(use_specs). --spec(boot/0 :: () -> 'ok'). +-spec(start/0 :: () -> 'ok'). +-spec(stop/0 :: () -> 'ok'). -endif. %%---------------------------------------------------------------------------- -boot() -> +start() -> {ok, DefaultVHost} = application:get_env(default_vhost), ok = error_logger:add_report_handler(?MODULE, [DefaultVHost]). +stop() -> + terminated_ok = error_logger:delete_report_handler(rabbit_error_logger), + ok. + +%%---------------------------------------------------------------------------- + init([DefaultVHost]) -> #exchange{} = rabbit_exchange:declare( rabbit_misc:r(DefaultVHost, exchange, ?LOG_EXCH_NAME), |