File 2793-logger-Use-persistent_term-for-primary-log-level.patch of Package erlang
From 5d0afdcc01e9c2c1e97af15e1bc7f88cf8811431 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Tue, 20 Aug 2019 09:33:41 +0200
Subject: [PATCH 3/7] logger: Use persistent_term for primary log level
---
lib/kernel/src/logger_config.erl | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/kernel/src/logger_config.erl b/lib/kernel/src/logger_config.erl
index e143148267..4b67325b69 100644
--- a/lib/kernel/src/logger_config.erl
+++ b/lib/kernel/src/logger_config.erl
@@ -56,8 +56,8 @@ allow(Tid,Level,Module) ->
false
end.
-allow(Tid,Level) ->
- PrimaryLevelInt = ets:lookup_element(Tid,?PRIMARY_KEY,2),
+allow(_Tid,Level) ->
+ PrimaryLevelInt = persistent_term:get({?MODULE,?PRIMARY_KEY}, ?NOTICE),
less_or_equal_level(Level,PrimaryLevelInt).
less_or_equal_level(emergency,ModLevel) -> ?EMERGENCY =< ModLevel;
@@ -95,6 +95,12 @@ create(Tid,proxy,Config) ->
ets:insert(Tid,{table_key(proxy),Config});
create(Tid,What,Config) ->
LevelInt = level_to_int(maps:get(level,Config)),
+ case What of
+ primary ->
+ ok = persistent_term:put({?MODULE,?PRIMARY_KEY}, LevelInt);
+ _ ->
+ ok
+ end,
ets:insert(Tid,{table_key(What),LevelInt,Config}).
set(Tid,proxy,Config) ->
@@ -109,6 +115,7 @@ set(Tid,What,Config) ->
_ = ets:select_delete(Tid,[{{'_',{'$1',cached}},
[{'=/=','$1',LevelInt}],
[true]}]),
+ ok = persistent_term:put({?MODULE,?PRIMARY_KEY}, LevelInt),
ok;
_ ->
ok
--
2.16.4