diff options
author | Lukas Larsson <[email protected]> | 2018-08-15 09:30:56 +0200 |
---|---|---|
committer | GitHub <[email protected]> | 2018-08-15 09:30:56 +0200 |
commit | 0aae9b681d724314584140018298a5ff9d0e6fc1 (patch) | |
tree | 18afd95f6af28e54257efc18ea4501048605ff40 /lib/kernel/src | |
parent | d29d81dbdaa2f4f0588c45baf7ad7c4746de0b4c (diff) | |
parent | f49f2d060e43953c4f09e604ee2b98db33867089 (diff) | |
download | otp-0aae9b681d724314584140018298a5ff9d0e6fc1.tar.gz otp-0aae9b681d724314584140018298a5ff9d0e6fc1.tar.bz2 otp-0aae9b681d724314584140018298a5ff9d0e6fc1.zip |
lukas/kernel/logger_set_app_lvl/PR-1843/OTP-15146
Add logger:set_application_level/2
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/logger.erl | 22 | ||||
-rw-r--r-- | lib/kernel/src/logger_server.erl | 4 |
2 files changed, 24 insertions, 2 deletions
diff --git a/lib/kernel/src/logger.erl b/lib/kernel/src/logger.erl index ffc90f4fc5..0020fe220b 100644 --- a/lib/kernel/src/logger.erl +++ b/lib/kernel/src/logger.erl @@ -39,6 +39,7 @@ remove_primary_filter/1, remove_handler_filter/2, set_module_level/2, unset_module_level/1, unset_module_level/0, + set_application_level/2, unset_application_level/1, get_module_level/0, get_module_level/1, set_primary_config/1, set_primary_config/2, set_handler_config/2, set_handler_config/3, @@ -488,6 +489,27 @@ unset_module_level(Modules) -> unset_module_level() -> logger_server:unset_module_level(). +-spec set_application_level(Application,Level) -> ok | {error, not_loaded} when + Application :: atom(), + Level :: level() | all | none. +set_application_level(App,Level) -> + case application:get_key(App, modules) of + {ok, Modules} -> + set_module_level(Modules, Level); + undefined -> + {error, {not_loaded, App}} + end. + +-spec unset_application_level(Application) -> ok | {error, not_loaded} when + Application :: atom(). +unset_application_level(App) -> + case application:get_key(App, modules) of + {ok, Modules} -> + unset_module_level(Modules); + undefined -> + {error, {not_loaded, App}} + end. + -spec get_module_level(Modules) -> [{Module,Level}] when Modules :: [Module] | Module, Module :: module(), diff --git a/lib/kernel/src/logger_server.erl b/lib/kernel/src/logger_server.erl index 28e31d46ea..644fdd5af2 100644 --- a/lib/kernel/src/logger_server.erl +++ b/lib/kernel/src/logger_server.erl @@ -83,7 +83,7 @@ set_module_level(Modules,Level) when is_list(Modules) -> Error -> Error end; false -> - {error,{not_a_list_of_modles,Modules}} + {error,{not_a_list_of_modules,Modules}} end; set_module_level(Modules,_) -> {error,{not_a_list_of_modules,Modules}}. @@ -96,7 +96,7 @@ unset_module_level(Modules) when is_list(Modules) -> true -> call({unset_module_level,Modules}); false -> - {error,{not_a_list_of_modles,Modules}} + {error,{not_a_list_of_modules,Modules}} end; unset_module_level(Modules) -> {error,{not_a_list_of_modules,Modules}}. |