diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2014-08-12 11:09:19 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2014-08-12 11:09:19 +0100 |
commit | 6dfc266d0c5e7c9b13b93fadfe37b8ff44e517df (patch) | |
tree | 91be1a53e399f7f7f2f704b0d0b474ea98cd0259 | |
parent | b197894881d39df8436d9a27a95e5d140f06506f (diff) | |
parent | 344500abfbc00124f5659ab29954c782d49ded22 (diff) | |
download | rabbitmq-server-6dfc266d0c5e7c9b13b93fadfe37b8ff44e517df.tar.gz |
Merge bug26337
-rw-r--r-- | src/rabbit.erl | 28 | ||||
-rw-r--r-- | src/rabbit_log.erl | 60 | ||||
-rw-r--r-- | src/rabbit_misc.erl | 6 | ||||
-rw-r--r-- | src/rabbit_mnesia.erl | 30 | ||||
-rw-r--r-- | src/rabbit_networking.erl | 4 | ||||
-rw-r--r-- | src/rabbit_plugins.erl | 2 | ||||
-rw-r--r-- | src/rabbit_upgrade.erl | 6 |
7 files changed, 46 insertions, 90 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 191f04a4..9ce9ec84 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -74,13 +74,6 @@ {requires, external_infrastructure}, {enables, kernel_ready}]}). --rabbit_boot_step({rabbit_log, - [{description, "logging server"}, - {mfa, {rabbit_sup, start_restartable_child, - [rabbit_log]}}, - {requires, external_infrastructure}, - {enables, kernel_ready}]}). - -rabbit_boot_step({rabbit_event, [{description, "statistics event manager"}, {mfa, {rabbit_sup, start_restartable_child, @@ -266,7 +259,7 @@ maybe_hipe_compile() -> warn_if_hipe_compilation_failed(true) -> ok; warn_if_hipe_compilation_failed(false) -> - error_logger:warning_msg( + rabbit_log:warning( "Not HiPE compiling: HiPE not found in this Erlang installation.~n"). %% HiPE compilation happens before we have log handlers and can take a @@ -502,9 +495,9 @@ start(normal, []) -> case erts_version_check() of ok -> {ok, Vsn} = application:get_key(rabbit, vsn), - error_logger:info_msg("Starting RabbitMQ ~s on Erlang ~s~n~s~n~s~n", - [Vsn, erlang:system_info(otp_release), - ?COPYRIGHT_MESSAGE, ?INFORMATION_MESSAGE]), + rabbit_log:info("Starting RabbitMQ ~s on Erlang ~s~n~s~n~s~n", + [Vsn, erlang:system_info(otp_release), + ?COPYRIGHT_MESSAGE, ?INFORMATION_MESSAGE]), {ok, SupPid} = rabbit_sup:start_link(), true = register(rabbit, self()), print_banner(), @@ -773,7 +766,7 @@ log_broker_started(Plugins) -> fun() -> PluginList = iolist_to_binary([rabbit_misc:format(" * ~s~n", [P]) || P <- Plugins]), - error_logger:info_msg( + rabbit_log:info( "Server startup complete; ~b plugins started.~n~s", [length(Plugins), PluginList]), io:format(" completed with ~p plugins.~n", [length(Plugins)]) @@ -822,18 +815,18 @@ log_banner() -> {K, V} -> Format(K, V) end || S <- Settings]), - error_logger:info_msg("~s", [Banner]). + rabbit_log:info("~s", [Banner]). warn_if_kernel_config_dubious() -> case erlang:system_info(kernel_poll) of true -> ok; - false -> error_logger:warning_msg( + false -> rabbit_log:warning( "Kernel poll (epoll, kqueue, etc) is disabled. Throughput " "and CPU utilization may worsen.~n") end, AsyncThreads = erlang:system_info(thread_pool_size), case AsyncThreads < ?ASYNC_THREADS_WARNING_THRESHOLD of - true -> error_logger:warning_msg( + true -> rabbit_log:warning( "Erlang VM is running with ~b I/O threads, " "file I/O performance may worsen~n", [AsyncThreads]); false -> ok @@ -843,9 +836,8 @@ warn_if_kernel_config_dubious() -> {ok, Val} -> Val end, case proplists:get_value(nodelay, IDCOpts, false) of - false -> error_logger:warning_msg( - "Nagle's algorithm is enabled for sockets, " - "network I/O latency will be higher~n"); + false -> rabbit_log:warning("Nagle's algorithm is enabled for sockets, " + "network I/O latency will be higher~n"); true -> ok end. diff --git a/src/rabbit_log.erl b/src/rabbit_log.erl index f4df0e76..f60336a1 100644 --- a/src/rabbit_log.erl +++ b/src/rabbit_log.erl @@ -16,17 +16,8 @@ -module(rabbit_log). --behaviour(gen_server). - --export([start_link/0]). - --export([init/1, handle_call/3, handle_cast/2, handle_info/2, - terminate/2, code_change/3]). - -export([log/3, log/4, info/1, info/2, warning/1, warning/2, error/1, error/2]). --define(SERVER, ?MODULE). - %%---------------------------------------------------------------------------- -ifdef(use_specs). @@ -36,8 +27,6 @@ -type(category() :: atom()). -type(level() :: 'info' | 'warning' | 'error'). --spec(start_link/0 :: () -> rabbit_types:ok_pid_or_error()). - -spec(log/3 :: (category(), level(), string()) -> 'ok'). -spec(log/4 :: (category(), level(), string(), [any()]) -> 'ok'). @@ -51,56 +40,29 @@ -endif. %%---------------------------------------------------------------------------- -start_link() -> - gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). log(Category, Level, Fmt) -> log(Category, Level, Fmt, []). log(Category, Level, Fmt, Args) when is_list(Args) -> - gen_server:cast(?SERVER, {log, Category, Level, Fmt, Args}). - -info(Fmt) -> log(default, info, Fmt). -info(Fmt, Args) -> log(default, info, Fmt, Args). -warning(Fmt) -> log(default, warning, Fmt). -warning(Fmt, Args) -> log(default, warning, Fmt, Args). -error(Fmt) -> log(default, error, Fmt). -error(Fmt, Args) -> log(default, error, Fmt, Args). - -%%-------------------------------------------------------------------- - -init([]) -> - {ok, CatLevelList} = application:get_env(log_levels), - CatLevels = [{Cat, level(Level)} || {Cat, Level} <- CatLevelList], - {ok, orddict:from_list(CatLevels)}. - -handle_call(_Request, _From, State) -> - {noreply, State}. - -handle_cast({log, Category, Level, Fmt, Args}, CatLevels) -> - CatLevel = case orddict:find(Category, CatLevels) of - {ok, L} -> L; - error -> level(info) - end, - case level(Level) =< CatLevel of + case level(Level) =< catlevel(Category) of false -> ok; true -> (case Level of info -> fun error_logger:info_msg/2; warning -> fun error_logger:warning_msg/2; error -> fun error_logger:error_msg/2 end)(Fmt, Args) - end, - {noreply, CatLevels}; -handle_cast(_Msg, State) -> - {noreply, State}. - -handle_info(_Info, State) -> - {noreply, State}. + end. -terminate(_Reason, _State) -> - ok. +info(Fmt) -> log(default, info, Fmt). +info(Fmt, Args) -> log(default, info, Fmt, Args). +warning(Fmt) -> log(default, warning, Fmt). +warning(Fmt, Args) -> log(default, warning, Fmt, Args). +error(Fmt) -> log(default, error, Fmt). +error(Fmt, Args) -> log(default, error, Fmt, Args). -code_change(_OldVsn, State, _Extra) -> - {ok, State}. +catlevel(Category) -> + {ok, CatLevelList} = application:get_env(rabbit, log_levels), + level(proplists:get_value(Category, CatLevelList, info)). %%-------------------------------------------------------------------- diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index a5cd1bdd..7ff88f04 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -656,10 +656,10 @@ with_local_io(Fun) -> end. %% Log an info message on the local node using the standard logger. -%% Use this if rabbit isn't running and the call didn't originate on -%% the local node (e.g. rabbitmqctl calls). +%% Use this if the call didn't originate on the local node (e.g. +%% rabbitmqctl calls). local_info_msg(Format, Args) -> - with_local_io(fun () -> error_logger:info_msg(Format, Args) end). + with_local_io(fun () -> rabbit_log:info(Format, Args) end). unfold(Fun, Init) -> unfold(Fun, [], Init). diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 630d9853..e60388f0 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -116,7 +116,7 @@ init_from_config() -> true -> disc; false -> ram end}, - error_logger:warning_msg( + rabbit_log:warning( "Converting legacy 'cluster_nodes' configuration~n ~w~n" "to~n ~w.~n~n" "Please update the configuration to the new format " @@ -127,17 +127,21 @@ init_from_config() -> {ok, Config} -> Config end, + case TryNodes of + [] -> init_db_and_upgrade([node()], disc, false); + _ -> auto_cluster(TryNodes, NodeType) + end. + +auto_cluster(TryNodes, NodeType) -> case find_good_node(nodes_excl_me(TryNodes)) of {ok, Node} -> - rabbit_log:info("Node '~p' selected for clustering from " - "configuration~n", [Node]), + rabbit_log:info("Node '~p' selected for auto-clustering~n", [Node]), {ok, {_, DiscNodes, _}} = discover_cluster0(Node), init_db_and_upgrade(DiscNodes, NodeType, true), rabbit_node_monitor:notify_joined_cluster(); none -> - rabbit_log:warning("Could not find any suitable node amongst the " - "ones provided in the configuration: ~p~n", - [TryNodes]), + rabbit_log:warning("Could not find any node for auto-clustering " + "from: ~p~n", [TryNodes]), init_db_and_upgrade([node()], disc, false) end. @@ -619,10 +623,10 @@ schema_ok_or_move() -> {error, Reason} -> %% NB: we cannot use rabbit_log here since it may not have been %% started yet - error_logger:warning_msg("schema integrity check failed: ~p~n" - "moving database to backup location " - "and recreating schema from scratch~n", - [Reason]), + rabbit_log:warning("schema integrity check failed: ~p~n" + "moving database to backup location " + "and recreating schema from scratch~n", + [Reason]), ok = move_db(), ok = create_schema() end. @@ -648,8 +652,8 @@ move_db() -> ok -> %% NB: we cannot use rabbit_log here since it may not have %% been started yet - error_logger:warning_msg("moved database from ~s to ~s~n", - [MnesiaDir, BackupDir]), + rabbit_log:warning("moved database from ~s to ~s~n", + [MnesiaDir, BackupDir]), ok; {error, Reason} -> throw({error, {cannot_backup_mnesia, MnesiaDir, BackupDir, Reason}}) @@ -695,7 +699,7 @@ leave_cluster(Node) -> end. wait_for(Condition) -> - error_logger:info_msg("Waiting for ~p...~n", [Condition]), + rabbit_log:info("Waiting for ~p...~n", [Condition]), timer:sleep(1000). start_mnesia(CheckConsistency) -> diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 96448f32..4e92bf39 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -208,7 +208,7 @@ tcp_listener_addresses({Host, Port, Family0}) [{IPAddress, Port, Family} || {IPAddress, Family} <- getaddr(Host, Family0)]; tcp_listener_addresses({_Host, Port, _Family0}) -> - error_logger:error_msg("invalid port ~p - not 0..65535~n", [Port]), + rabbit_log:error("invalid port ~p - not 0..65535~n", [Port]), throw({error, {invalid_port, Port}}). tcp_listener_addresses_auto(Port) -> @@ -395,7 +395,7 @@ gethostaddr(Host, Family) -> end. host_lookup_error(Host, Reason) -> - error_logger:error_msg("invalid host ~p - ~p~n", [Host, Reason]), + rabbit_log:error("invalid host ~p - ~p~n", [Host, Reason]), throw({error, {invalid_host, Host, Reason}}). resolve_family({_,_,_,_}, auto) -> inet; diff --git a/src/rabbit_plugins.erl b/src/rabbit_plugins.erl index 9acaa1d4..04db5d5d 100644 --- a/src/rabbit_plugins.erl +++ b/src/rabbit_plugins.erl @@ -97,7 +97,7 @@ list(PluginsDir) -> [plugin_info(PluginsDir, Plug) || Plug <- EZs ++ FreeApps]), case Problems of [] -> ok; - _ -> error_logger:warning_msg( + _ -> rabbit_log:warning( "Problem reading some plugins: ~p~n", [Problems]) end, ensure_dependencies(Plugins). diff --git a/src/rabbit_upgrade.erl b/src/rabbit_upgrade.erl index 8ab35a89..72bf7855 100644 --- a/src/rabbit_upgrade.erl +++ b/src/rabbit_upgrade.erl @@ -190,7 +190,7 @@ die(Msg, Args) -> %% We don't throw or exit here since that gets thrown %% straight out into do_boot, generating an erl_crash.dump %% and displaying any error message in a confusing way. - error_logger:error_msg(Msg, Args), + rabbit_log:error(Msg, Args), Str = rabbit_misc:format( "~n~n****~n~n" ++ Msg ++ "~n~n****~n~n~n", Args), io:format(Str), @@ -281,6 +281,4 @@ node_type_legacy() -> false -> ram end. -%% NB: we cannot use rabbit_log here since it may not have been -%% started yet -info(Msg, Args) -> error_logger:info_msg(Msg, Args). +info(Msg, Args) -> rabbit_log:info(Msg, Args). |