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

openSUSE Build Service is sponsored by