ejabberd_stun: Filter info/debug messages
Update 'stun' dependency, and drop the info/debug messages now logged by the 'stun' application if OTP's new logging API is used.
This commit is contained in:
parent
0ff5b44d15
commit
3bf7fbc117
2
mix.exs
2
mix.exs
|
@ -90,7 +90,7 @@ defmodule Ejabberd.Mixfile do
|
||||||
{:stringprep, "~> 1.0"},
|
{:stringprep, "~> 1.0"},
|
||||||
{:fast_yaml, "~> 1.0"},
|
{:fast_yaml, "~> 1.0"},
|
||||||
{:fast_tls, "~> 1.1"},
|
{:fast_tls, "~> 1.1"},
|
||||||
{:stun, git: "https://github.com/processone/stun", ref: "35cdef8b0ae35daa797a292c57dbd5ee62b45876", override: true},
|
{:stun, git: "https://github.com/processone/stun", ref: "1599d55aee3a520893aff27746281c70cda65822", override: true},
|
||||||
{:esip, "~> 1.0.32"},
|
{:esip, "~> 1.0.32"},
|
||||||
{:p1_mysql, "~> 1.0"},
|
{:p1_mysql, "~> 1.0"},
|
||||||
{:mqtree, "~> 1.0"},
|
{:mqtree, "~> 1.0"},
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
{mqtree, ".*", {git, "https://github.com/processone/mqtree", {tag, "1.0.8"}}},
|
{mqtree, ".*", {git, "https://github.com/processone/mqtree", {tag, "1.0.8"}}},
|
||||||
{p1_acme, ".*", {git, "https://github.com/processone/p1_acme.git", {tag, "1.0.6"}}},
|
{p1_acme, ".*", {git, "https://github.com/processone/p1_acme.git", {tag, "1.0.6"}}},
|
||||||
{base64url, ".*", {git, "https://github.com/dvv/base64url.git", {tag, "v1.0"}}},
|
{base64url, ".*", {git, "https://github.com/dvv/base64url.git", {tag, "v1.0"}}},
|
||||||
{if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", {tag, "1.0.33"}}}},
|
{if_var_true, stun, {stun, ".*", {git, "https://github.com/processone/stun", "1599d55aee3a520893aff27746281c70cda65822"}}},
|
||||||
{if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.34"}}}},
|
{if_var_true, sip, {esip, ".*", {git, "https://github.com/processone/esip", {tag, "1.0.34"}}}},
|
||||||
{if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql",
|
{if_var_true, mysql, {p1_mysql, ".*", {git, "https://github.com/processone/p1_mysql",
|
||||||
{tag, "1.0.15"}}}},
|
{tag, "1.0.15"}}}},
|
||||||
|
|
|
@ -50,16 +50,22 @@ start_link(_, _, _) ->
|
||||||
get_password/2]).
|
get_password/2]).
|
||||||
|
|
||||||
-include("logger.hrl").
|
-include("logger.hrl").
|
||||||
|
-ifndef(LAGER).
|
||||||
|
-export([stun_filter/2]).
|
||||||
|
-define(STUN_MAX_LOG_LEVEL, notice). % Drop STUN/TURN info/debug messages.
|
||||||
|
-endif.
|
||||||
|
|
||||||
%%%===================================================================
|
%%%===================================================================
|
||||||
%%% API
|
%%% API
|
||||||
%%%===================================================================
|
%%%===================================================================
|
||||||
tcp_init(Socket, Opts) ->
|
tcp_init(Socket, Opts) ->
|
||||||
|
init_logger(),
|
||||||
ejabberd:start_app(stun),
|
ejabberd:start_app(stun),
|
||||||
stun:tcp_init(Socket, prepare_turn_opts(Opts)).
|
stun:tcp_init(Socket, prepare_turn_opts(Opts)).
|
||||||
|
|
||||||
-dialyzer({nowarn_function, udp_init/2}).
|
-dialyzer({nowarn_function, udp_init/2}).
|
||||||
udp_init(Socket, Opts) ->
|
udp_init(Socket, Opts) ->
|
||||||
|
init_logger(),
|
||||||
ejabberd:start_app(stun),
|
ejabberd:start_app(stun),
|
||||||
stun:udp_init(Socket, prepare_turn_opts(Opts)).
|
stun:udp_init(Socket, prepare_turn_opts(Opts)).
|
||||||
|
|
||||||
|
@ -199,4 +205,32 @@ listen_options() ->
|
||||||
{turn_max_permissions, 10},
|
{turn_max_permissions, 10},
|
||||||
{turn_blacklist, [<<"2001::/32">>, <<"2002::/16">>]}, % Teredo, 6to4.
|
{turn_blacklist, [<<"2001::/32">>, <<"2002::/16">>]}, % Teredo, 6to4.
|
||||||
{server_name, <<"ejabberd">>}].
|
{server_name, <<"ejabberd">>}].
|
||||||
|
|
||||||
|
-spec init_logger() -> ok.
|
||||||
|
-ifdef(LAGER).
|
||||||
|
init_logger() ->
|
||||||
|
ok.
|
||||||
|
-else.
|
||||||
|
init_logger() ->
|
||||||
|
case logger:add_primary_filter(stun, {fun ?MODULE:stun_filter/2,
|
||||||
|
?STUN_MAX_LOG_LEVEL}) of
|
||||||
|
ok ->
|
||||||
|
ok;
|
||||||
|
{error, {already_exist, _}} ->
|
||||||
|
ok
|
||||||
|
end.
|
||||||
|
|
||||||
|
-spec stun_filter(logger:log_event(), logger:level() | term())
|
||||||
|
-> logger:filter_return().
|
||||||
|
stun_filter(#{meta := #{domain := [stun | _]}, level := Level}, MaxLevel) ->
|
||||||
|
case logger:compare_levels(Level, MaxLevel) of
|
||||||
|
lt ->
|
||||||
|
stop;
|
||||||
|
_ ->
|
||||||
|
ignore
|
||||||
|
end;
|
||||||
|
stun_filter(Event, _Extra) ->
|
||||||
|
Event.
|
||||||
|
-endif.
|
||||||
|
|
||||||
-endif.
|
-endif.
|
||||||
|
|
Loading…
Reference in New Issue