Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: logger json formatter's config not working #8518

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGES-5.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
* Fix AuthN JWKS SSL schema. Using schema in `emqx_schema`. [#8458](https://github.com/emqx/emqx/pull/8458)
* `sentinel` field should be required when AuthN/AuthZ Redis using sentinel mode. [#8458](https://github.com/emqx/emqx/pull/8458)
* Fix bad swagger format. [#8517](https://github.com/emqx/emqx/pull/8517)
* Fix `chars_limit` is not working when `formatter` is `json`. [#8518](http://github.com/emqx/emqx/pull/8518)
* Ensuring that exhook dispatches the client events are sequential. [#8530](https://github.com/emqx/emqx/pull/8530)

## Enhancements
Expand Down
5 changes: 3 additions & 2 deletions apps/emqx/src/emqx_logger_jsonfmt.erl
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,10 @@ best_effort_json(Input, Opts) ->
jsx:encode(JsonReady, Opts).

-spec format(logger:log_event(), config()) -> iodata().
format(#{level := Level, msg := Msg, meta := Meta}, Config0) when is_map(Config0) ->
format(#{level := Level, msg := Msg, meta := Meta} = Event, Config0) when is_map(Config0) ->
Config = add_default_config(Config0),
[format(Msg, Meta#{level => Level}, Config), "\n"].
MsgBin = format(Msg, Meta#{level => Level}, Config),
logger_formatter:format(Event#{msg => {string, MsgBin}}, Config).

format(Msg, Meta, Config) ->
Data0 =
Expand Down
12 changes: 9 additions & 3 deletions apps/emqx_conf/i18n/emqx_conf_schema.conf
Original file line number Diff line number Diff line change
Expand Up @@ -1039,12 +1039,18 @@ Defaults to: <code>system</code>.

common_handler_chars_limit {
desc {
en: """Set the maximum length of a single log message. If this length is exceeded, the log message will be truncated."""
zh: """设置单个日志消息的最大长度。 如果超过此长度,则日志消息将被截断。最小可设置的长度为100。"""
en: """
Set the maximum length of a single log message. If this length is exceeded, the log message will be truncated.
NOTE: Restrict char limiter if formatter is JSON , it will get a truncated incomplete JSON data, which is not recommended.
"""
zh: """
设置单个日志消息的最大长度。 如果超过此长度,则日志消息将被截断。最小可设置的长度为100。
注意:如果日志格式为 JSON,限制字符长度可能会导致截断不完整的 JSON 数据。
"""
}
label {
en: "Single Log Max Length"
zh: "单个日志最大长度"
zh: "单条日志长度限制"
}
}

Expand Down