Merge remote-tracking branch 'origin/develop'
This commit is contained in:
commit
b8ce42fd29
|
@ -2,9 +2,9 @@
|
||||||
[{jsx, "2.9.0"}, % hex
|
[{jsx, "2.9.0"}, % hex
|
||||||
{cowboy, "2.6.1"}, % hex
|
{cowboy, "2.6.1"}, % hex
|
||||||
{gproc, "0.8.0"}, % hex
|
{gproc, "0.8.0"}, % hex
|
||||||
{ekka, "0.5.6"}, % hex
|
|
||||||
{replayq, "0.1.1"}, %hex
|
{replayq, "0.1.1"}, %hex
|
||||||
{esockd, "5.5.0"}, %hex
|
{esockd, "5.5.0"}, %hex
|
||||||
|
{ekka, {git, "https://github.com/emqx/ekka", {tag, "v0.5.7"}}},
|
||||||
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.3.1"}}},
|
{gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "2.3.1"}}},
|
||||||
{cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.0.0"}}}
|
{cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.0.0"}}}
|
||||||
]}.
|
]}.
|
||||||
|
|
|
@ -113,7 +113,7 @@ handle_event({set_alarm, Alarm = {AlarmId, AlarmDesc}}, State) ->
|
||||||
set_alarm_(AlarmId, AlarmDesc),
|
set_alarm_(AlarmId, AlarmDesc),
|
||||||
{ok, State};
|
{ok, State};
|
||||||
handle_event({clear_alarm, AlarmId}, State) ->
|
handle_event({clear_alarm, AlarmId}, State) ->
|
||||||
?LOG(warning, "Clear Alarm: ~p", [AlarmId]),
|
?LOG(info, "Clear Alarm: ~p", [AlarmId]),
|
||||||
case encode_alarm({AlarmId, undefined}) of
|
case encode_alarm({AlarmId, undefined}) of
|
||||||
{ok, Json} ->
|
{ok, Json} ->
|
||||||
emqx_broker:safe_publish(alarm_msg(topic(clear), Json));
|
emqx_broker:safe_publish(alarm_msg(topic(clear), Json));
|
||||||
|
|
|
@ -38,8 +38,6 @@ start(_Type, _Args) ->
|
||||||
register(emqx, self()),
|
register(emqx, self()),
|
||||||
|
|
||||||
emqx_alarm_handler:load(),
|
emqx_alarm_handler:load(),
|
||||||
emqx_logger_handler:init(),
|
|
||||||
|
|
||||||
print_vsn(),
|
print_vsn(),
|
||||||
{ok, Sup}.
|
{ok, Sup}.
|
||||||
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
%% Copyright (c) 2013-2019 EMQ Technologies Co., Ltd. All Rights Reserved.
|
|
||||||
%%
|
|
||||||
%% Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
%% you may not use this file except in compliance with the License.
|
|
||||||
%% You may obtain a copy of the License at
|
|
||||||
%%
|
|
||||||
%% http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
%%
|
|
||||||
%% Unless required by applicable law or agreed to in writing, software
|
|
||||||
%% distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
%% See the License for the specific language governing permissions and
|
|
||||||
%% limitations under the License.
|
|
||||||
|
|
||||||
-module(emqx_logger_handler).
|
|
||||||
|
|
||||||
-export([log/2]).
|
|
||||||
|
|
||||||
-export([init/0]).
|
|
||||||
|
|
||||||
init() ->
|
|
||||||
logger:add_handler(emqx_logger_handler,
|
|
||||||
emqx_logger_handler,
|
|
||||||
#{level => error,
|
|
||||||
filters => [{easy_filter, {fun filter_by_level/2, []}}],
|
|
||||||
filters_default => stop}).
|
|
||||||
|
|
||||||
-spec log(LogEvent, Config) -> ok when LogEvent :: logger:log_event(), Config :: logger:handler_config().
|
|
||||||
log(#{msg := {report, #{report := [{supervisor, SupName},
|
|
||||||
{errorContext, Error},
|
|
||||||
{reason, Reason},
|
|
||||||
{offender, _}]}}}, _Config) ->
|
|
||||||
alarm_handler:set_alarm({supervisor_report, [{supervisor, SupName},
|
|
||||||
{errorContext, Error},
|
|
||||||
{reason, Reason}]}),
|
|
||||||
ok;
|
|
||||||
log(_LogEvent, _Config) ->
|
|
||||||
ok.
|
|
||||||
|
|
||||||
filter_by_level(LogEvent = #{level := error}, _Extra) ->
|
|
||||||
LogEvent;
|
|
||||||
filter_by_level(_LogEvent, _Extra) ->
|
|
||||||
stop.
|
|
|
@ -24,8 +24,7 @@
|
||||||
-include("emqx_mqtt.hrl").
|
-include("emqx_mqtt.hrl").
|
||||||
-include("emqx.hrl").
|
-include("emqx.hrl").
|
||||||
|
|
||||||
all() -> [t_alarm_handler,
|
all() -> [t_alarm_handler].
|
||||||
t_logger_handler].
|
|
||||||
|
|
||||||
init_per_suite(Config) ->
|
init_per_suite(Config) ->
|
||||||
emqx_ct_helpers:start_apps([], fun set_special_configs/1),
|
emqx_ct_helpers:start_apps([], fun set_special_configs/1),
|
||||||
|
@ -97,23 +96,6 @@ t_alarm_handler(_) ->
|
||||||
|
|
||||||
end).
|
end).
|
||||||
|
|
||||||
t_logger_handler(_) ->
|
|
||||||
%% Meck supervisor report
|
|
||||||
logger:log(error, #{label => {supervisor, start_error},
|
|
||||||
report => [{supervisor, {local, tmp_sup}},
|
|
||||||
{errorContext, shutdown},
|
|
||||||
{reason, reached_max_restart_intensity},
|
|
||||||
{offender, [{pid, meck},
|
|
||||||
{id, meck},
|
|
||||||
{mfargs, {meck, start_link, []}},
|
|
||||||
{restart_type, permanent},
|
|
||||||
{shutdown, 5000},
|
|
||||||
{child_type, worker}]}]},
|
|
||||||
#{logger_formatter => #{title => "SUPERVISOR REPORT"},
|
|
||||||
report_cb => fun logger:format_otp_report/1}),
|
|
||||||
timer:sleep(20),
|
|
||||||
?assertEqual(true, lists:keymember(supervisor_report, 1, emqx_alarm_handler:get_alarms())).
|
|
||||||
|
|
||||||
raw_send_serialize(Packet) ->
|
raw_send_serialize(Packet) ->
|
||||||
emqx_frame:serialize(Packet).
|
emqx_frame:serialize(Packet).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue