refactor: change failure log configuration schema

This commit is contained in:
Thales Macedo Garitezi 2024-03-19 10:04:18 -03:00
parent 2eac54bf54
commit c478e375f6
4 changed files with 17 additions and 9 deletions

View File

@ -216,7 +216,7 @@ evaluate_sql_check(Check, Validation, Message) ->
} = Check,
#{
name := Name,
log_failure_at := FailureLogLevel
log_failure := #{level := FailureLogLevel}
} = Validation,
{Data, _} = emqx_rule_events:eventmsg_publish(Message),
try emqx_rule_runtime:evaluate_select(Fields, Data, Conditions) of
@ -255,7 +255,7 @@ evaluate_schema_check(Check, Validation, #message{payload = Data}) ->
#{schema := SerdeName} = Check,
#{
name := Name,
log_failure_at := FailureLogLevel
log_failure := #{level := FailureLogLevel}
} = Validation,
ExtraArgs =
case Check of
@ -406,7 +406,7 @@ run_validations(Validations, Message) ->
Fun = fun(Validation, Acc) ->
#{
name := Name,
log_failure_at := FailureLogLevel
log_failure := #{level := FailureLogLevel}
} = Validation,
case run_validation(Validation, Message) of
ok ->

View File

@ -78,10 +78,10 @@ fields(validation) ->
hoconsc:enum([drop, disconnect]),
#{desc => ?DESC("failure_action"), required => true}
)},
{log_failure_at,
{log_failure,
mk(
hoconsc:enum([error, warning, notice, info, debug]),
#{desc => ?DESC("log_failure_at"), default => info}
ref(log_failure),
#{desc => ?DESC("log_failure_at"), default => #{}}
)},
{checks,
mk(
@ -100,6 +100,14 @@ fields(validation) ->
}
)}
];
fields(log_failure) ->
[
{level,
mk(
hoconsc:enum([error, warning, notice, info, debug]),
#{desc => ?DESC("log_failure_at"), default => info}
)}
];
fields(check_sql) ->
[
{type, mk(sql, #{default => sql, desc => ?DESC("check_sql_type")})},

View File

@ -108,7 +108,7 @@ validation(Name, Checks, Overrides) ->
<<"topics">> => <<"t/+">>,
<<"strategy">> => <<"all_pass">>,
<<"failure_action">> => <<"drop">>,
<<"log_failure_at">> => <<"warning">>,
<<"log_failure">> => #{<<"level">> => <<"warning">>},
<<"checks">> => Checks
},
emqx_utils_maps:deep_merge(Default, Overrides).

View File

@ -38,7 +38,7 @@ validation(Name, Checks, Overrides) ->
<<"topics">> => <<"t/+">>,
<<"strategy">> => <<"all_pass">>,
<<"failure_action">> => <<"drop">>,
<<"log_failure_at">> => <<"warning">>,
<<"log_failure">> => #{<<"level">> => <<"warning">>},
<<"checks">> => Checks
},
emqx_utils_maps:deep_merge(Default, Overrides).
@ -54,7 +54,7 @@ sql_check(SQL) ->
eval_sql(Message, SQL) ->
{ok, Check} = emqx_message_validation:parse_sql_check(SQL),
Validation = #{log_failure_at => warning, name => <<"validation">>},
Validation = #{log_failure => #{level => warning}, name => <<"validation">>},
emqx_message_validation:evaluate_sql_check(Check, Validation, Message).
message() ->