From c9cf8b66e7f7932812aa5b277e0c68ed0201abb6 Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Sat, 17 Jul 2021 15:24:18 +0800 Subject: [PATCH] fix(docker): cannot set log_level using os env --- .ci/docker-compose-file/conf.cluster.env | 8 ++++---- apps/emqx/etc/emqx.conf | 2 +- apps/emqx/src/emqx_schema.erl | 19 ++++++++++++++----- deploy/docker/README.md | 4 ++-- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/.ci/docker-compose-file/conf.cluster.env b/.ci/docker-compose-file/conf.cluster.env index e80af9d3e..f8469511b 100644 --- a/.ci/docker-compose-file/conf.cluster.env +++ b/.ci/docker-compose-file/conf.cluster.env @@ -1,7 +1,7 @@ EMQX_NAME=emqx EMQX_CLUSTER__DISCOVERY_STRATEGY=static EMQX_CLUSTER__STATIC__SEEDS="[emqx@node1.emqx.io, emqx@node2.emqx.io]" -EMQX_LISTENER__TCP__EXTERNAL__PROXY_PROTOCOL=on -EMQX_LISTENER__WS__EXTERNAL__PROXY_PROTOCOL=on -EMQX_LOG__LEVEL=debug -EMQX_LOADED_PLUGINS=emqx_sn +EMQX_ZONES__DEFAULT__LISTENERS__MQTT_TCP__PROXY_PROTOCOL=true +EMQX_ZONES__DEFAULT__LISTENERS__MQTT_WS__PROXY_PROTOCOL=true +EMQX_LOG__CONSOLE_HANDLER__ENABLE=true +EMQX_LOG__PRIMARY_LEVEL=debug diff --git a/apps/emqx/etc/emqx.conf b/apps/emqx/etc/emqx.conf index 1a5ccf16c..0c82c9d1a 100644 --- a/apps/emqx/etc/emqx.conf +++ b/apps/emqx/etc/emqx.conf @@ -325,7 +325,7 @@ log { ## Note: Only the messages with severity level higher than or ## equal to this level will be logged. ## - ## @doc log.level + ## @doc log.primary_level ## ValueType: debug | info | notice | warning | error | critical | alert | emergency ## Default: warning primary_level: warning diff --git a/apps/emqx/src/emqx_schema.erl b/apps/emqx/src/emqx_schema.erl index bbfef19a2..6486b345f 100644 --- a/apps/emqx/src/emqx_schema.erl +++ b/apps/emqx/src/emqx_schema.erl @@ -506,7 +506,7 @@ fields("alarm") -> ]; fields(ExtraField) -> - Mod = list_to_atom(ExtraField++"_schema"), + Mod = to_atom(ExtraField++"_schema"), Mod:fields(ExtraField). mqtt_listener() -> @@ -649,7 +649,7 @@ filter(Opts) -> %% , {"server_name_indication", undefined, undefined)} %% ...] ssl(Defaults) -> - D = fun (Field) -> maps:get(list_to_atom(Field), Defaults, undefined) end, + D = fun (Field) -> maps:get(to_atom(Field), Defaults, undefined) end, [ {"enable", t(boolean(), undefined, D("enable"))} , {"cacertfile", t(string(), undefined, D("cacertfile"))} , {"certfile", t(string(), undefined, D("certfile"))} @@ -793,7 +793,7 @@ to_comma_separated_list(Str) -> {ok, string:tokens(Str, ", ")}. to_comma_separated_atoms(Str) -> - {ok, lists:map(fun list_to_atom/1, string:tokens(Str, ", "))}. + {ok, lists:map(fun to_atom/1, string:tokens(Str, ", "))}. to_bar_separated_list(Str) -> {ok, string:tokens(Str, "| ")}. @@ -815,7 +815,7 @@ to_erl_cipher_suite(Str) -> end. options(static, Conf) -> - [{seeds, [list_to_atom(S) || S <- conf_get("cluster.static.seeds", Conf, [])]}]; + [{seeds, [to_atom(S) || S <- conf_get("cluster.static.seeds", Conf, [])]}]; options(mcast, Conf) -> {ok, Addr} = inet:parse_address(conf_get("cluster.mcast.addr", Conf)), {ok, Iface} = inet:parse_address(conf_get("cluster.mcast.iface", Conf)), @@ -830,7 +830,7 @@ options(etcd, Conf) -> Namespace = "cluster.etcd.ssl", SslOpts = fun(C) -> Options = keys(Namespace, C), - lists:map(fun(Key) -> {list_to_atom(Key), conf_get([Namespace, Key], Conf)} end, Options) end, + lists:map(fun(Key) -> {to_atom(Key), conf_get([Namespace, Key], Conf)} end, Options) end, [{server, conf_get("cluster.etcd.server", Conf)}, {prefix, conf_get("cluster.etcd.prefix", Conf, "emqxcl")}, {node_ttl, conf_get("cluster.etcd.node_ttl", Conf, 60)}, @@ -844,3 +844,12 @@ options(k8s, Conf) -> {suffix, conf_get("cluster.k8s.suffix", Conf, "")}]; options(manual, _Conf) -> []. + +to_atom(#{value := Val}= _RichMap) -> + to_atom(Val); +to_atom(Atom) when is_atom(Atom) -> + Atom; +to_atom(Str) when is_list(Str) -> + list_to_atom(Str); +to_atom(Bin) when is_binary(Bin) -> + list_to_atom(binary_to_list(Bin)). diff --git a/deploy/docker/README.md b/deploy/docker/README.md index 94ebdc7bb..0d816821e 100644 --- a/deploy/docker/README.md +++ b/deploy/docker/README.md @@ -214,7 +214,7 @@ Let's create a static node list cluster from docker-compose. - "EMQX_NAME=emqx" - "EMQX_HOST=node1.emqx.io" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - - "EMQX_CLUSTER__STATIC__SEEDS=emqx@node1.emqx.io, emqx@node2.emqx.io" + - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io, emqx@node2.emqx.io]" networks: emqx-bridge: aliases: @@ -226,7 +226,7 @@ Let's create a static node list cluster from docker-compose. - "EMQX_NAME=emqx" - "EMQX_HOST=node2.emqx.io" - "EMQX_CLUSTER__DISCOVERY_STRATEGY=static" - - "EMQX_CLUSTER__STATIC__SEEDS=emqx@node1.emqx.io, emqx@node2.emqx.io" + - "EMQX_CLUSTER__STATIC__SEEDS=[emqx@node1.emqx.io, emqx@node2.emqx.io]" networks: emqx-bridge: aliases: