From 0634ff61c0570564f7113a042b194c5ca258256b Mon Sep 17 00:00:00 2001 From: zhongwencool Date: Fri, 27 Oct 2023 17:27:38 +0800 Subject: [PATCH] fix: dialyzer warning --- apps/emqx/include/logger.hrl | 14 ++++++++++++++ apps/emqx_audit/src/emqx_audit.erl | 10 ++++++---- apps/emqx_audit/test/emqx_audit_api_SUITE.erl | 12 +++++++----- apps/emqx_conf/src/emqx_conf_cli.erl | 2 ++ apps/emqx_dashboard/src/emqx_dashboard.erl | 2 ++ rel/i18n/emqx_conf_schema.hocon | 3 +-- 6 files changed, 32 insertions(+), 11 deletions(-) diff --git a/apps/emqx/include/logger.hrl b/apps/emqx/include/logger.hrl index 904fae0d6..a40f9dc9c 100644 --- a/apps/emqx/include/logger.hrl +++ b/apps/emqx/include/logger.hrl @@ -63,6 +63,10 @@ ) end). +-ifdef(EMQX_RELEASE_EDITION). + +-if(?EMQX_RELEASE_EDITION == ee). + -define(AUDIT(_LevelFun_, _MetaFun_), begin case logger_config:get(logger, ?AUDIT_HANDLER) of {error, {not_found, _}} -> @@ -78,6 +82,16 @@ end). end end). +-else. +%% Only for compile pass, ce edition will not call it +-define(AUDIT(_L_, _M_), _ = {_L_, _M_}). +-endif. + +-else. +%% Only for compile pass, ce edition will not call it +-define(AUDIT(_L_, _M_), _ = {_L_, _M_}). +-endif. + %% print to 'user' group leader -define(ULOG(Fmt, Args), io:format(user, Fmt, Args)). -define(ELOG(Fmt, Args), io:format(standard_error, Fmt, Args)). diff --git a/apps/emqx_audit/src/emqx_audit.erl b/apps/emqx_audit/src/emqx_audit.erl index ceaf22507..98f4a70e8 100644 --- a/apps/emqx_audit/src/emqx_audit.erl +++ b/apps/emqx_audit/src/emqx_audit.erl @@ -108,10 +108,12 @@ log(Level, Meta1, Handler) -> remove_handler_when_disabled() -> case emqx_config:get([log, audit, enable], false) of - true -> ok; - false -> _ = logger:remove_handler(?AUDIT_HANDLER) - end, - ok. + true -> + ok; + false -> + _ = logger:remove_handler(?AUDIT_HANDLER), + ok + end. log_to_db(Log) -> Audit0 = to_audit(Log), diff --git a/apps/emqx_audit/test/emqx_audit_api_SUITE.erl b/apps/emqx_audit/test/emqx_audit_api_SUITE.erl index a402efe31..50b39d240 100644 --- a/apps/emqx_audit/test/emqx_audit_api_SUITE.erl +++ b/apps/emqx_audit/test/emqx_audit_api_SUITE.erl @@ -21,14 +21,12 @@ all() -> [ - {group, enabled}, - {group, disabled} + {group, audit, [sequence]} ]. groups() -> [ - {enabled, [sequence], common_tests() -- [t_disabled]}, - {disabled, [sequence], [t_disabled]} + {audit, [sequence], common_tests()} ]. common_tests() -> @@ -114,6 +112,8 @@ t_disabled(_) -> Logs1 = emqx_utils_maps:deep_put([<<"audit">>, <<"max_filter_size">>], Logs, 100), NewLogs = emqx_utils_maps:deep_put([<<"audit">>, <<"enable">>], Logs1, false), {ok, _} = emqx_mgmt_api_configs_SUITE:update_config("log", NewLogs), + {ok, GetLog1} = emqx_mgmt_api_configs_SUITE:get_config("log"), + ?assertEqual(NewLogs, GetLog1), ?assertMatch( {error, _}, emqx_mgmt_api_test_util:request_api(get, AuditPath, "limit=1", AuthHeader) @@ -132,6 +132,8 @@ t_disabled(_) -> ?assertEqual(Size2, Size3), %% enabled again {ok, _} = emqx_mgmt_api_configs_SUITE:update_config("log", Logs1), + {ok, GetLog2} = emqx_mgmt_api_configs_SUITE:get_config("log"), + ?assertEqual(Logs1, GetLog2), Size4 = mnesia:table_info(emqx_audit, size), ?assertEqual(Size3 + 1, Size4), ok. @@ -243,4 +245,4 @@ kickout_clients() -> {ok, Clients2} = emqx_mgmt_api_test_util:request_api(get, ClientsPath), ClientsResponse2 = emqx_utils_json:decode(Clients2, [return_maps]), - ?assertMatch(#{<<"meta">> := #{<<"count">> := 0}}, ClientsResponse2). + ?assertMatch(#{<<"data">> := []}, ClientsResponse2). diff --git a/apps/emqx_conf/src/emqx_conf_cli.erl b/apps/emqx_conf/src/emqx_conf_cli.erl index a5082a419..fc00c7dc9 100644 --- a/apps/emqx_conf/src/emqx_conf_cli.erl +++ b/apps/emqx_conf/src/emqx_conf_cli.erl @@ -37,6 +37,8 @@ -define(AUDIT_MOD, audit). -define(UPDATE_READONLY_KEYS_PROHIBITED, "update_readonly_keys_prohibited"). +-dialyzer({no_match, [load/0]}). + load() -> emqx_ctl:register_command(?CLUSTER_CALL, {?MODULE, admins}, [hidden]), emqx_ctl:register_command(?CONF, {?MODULE, conf}, []), diff --git a/apps/emqx_dashboard/src/emqx_dashboard.erl b/apps/emqx_dashboard/src/emqx_dashboard.erl index ab6204235..96f81ca84 100644 --- a/apps/emqx_dashboard/src/emqx_dashboard.erl +++ b/apps/emqx_dashboard/src/emqx_dashboard.erl @@ -210,6 +210,8 @@ filter_false(K, V, S) -> [{K, V} | S]. listener_name(Protocol) -> list_to_atom(atom_to_list(Protocol) ++ ":dashboard"). +-dialyzer({no_match, [audit_log_fun/0]}). + audit_log_fun() -> case emqx_release:edition() of ee -> fun emqx_dashboard_audit:log/2; diff --git a/rel/i18n/emqx_conf_schema.hocon b/rel/i18n/emqx_conf_schema.hocon index 2497244a5..64b96541e 100644 --- a/rel/i18n/emqx_conf_schema.hocon +++ b/rel/i18n/emqx_conf_schema.hocon @@ -727,8 +727,7 @@ audit_handler_level.label: audit_log_max_filter_limit.desc: """Store the latest N log entries in a database for allow `/audit` HTTP API to filter and retrieval of log data. -The interval for purging redundant log records is maintained within a range of 10~20 seconds. -""" +The interval for purging redundant log records is maintained within a range of 10~20 seconds.""" audit_log_max_filter_limit.label: """Max Filter Limit"""