diff options
author | Siri Hansen <[email protected]> | 2018-05-07 12:02:59 +0200 |
---|---|---|
committer | Siri Hansen <[email protected]> | 2018-05-07 12:02:59 +0200 |
commit | cd832e85a3029162c31659ca174efdf43a08c8d2 (patch) | |
tree | 160726aa478bfce1ab6d221dc0b40e5dcfaa33ce /lib/kernel/src/logger.erl | |
parent | 4c350d64b85686b731d0888c36159b4d126e5cf1 (diff) | |
parent | 3c9e4adff06a3f74513cb6658405e43e674133c1 (diff) | |
download | otp-cd832e85a3029162c31659ca174efdf43a08c8d2.tar.gz otp-cd832e85a3029162c31659ca174efdf43a08c8d2.tar.bz2 otp-cd832e85a3029162c31659ca174efdf43a08c8d2.zip |
Merge branch 'siri/logger-fix'
* siri/logger-fix:
Change logger callback removing_handler/1 to removing_handler/2
Don't crash logger_server due to unexpected message
Add logger:update_process_metadata/1
Improve documentation of logger:set_*_config functions
Change return type from logger_formatter:format/2
Improve test of logger_disk_log_h and logger_std_h
Update logger documentation
Set single_line=true by default in logger_formatter
Diffstat (limited to 'lib/kernel/src/logger.erl')
-rw-r--r-- | lib/kernel/src/logger.erl | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/kernel/src/logger.erl b/lib/kernel/src/logger.erl index 943ef8c2d1..5562764204 100644 --- a/lib/kernel/src/logger.erl +++ b/lib/kernel/src/logger.erl @@ -44,8 +44,8 @@ %% Misc -export([compare_levels/2]). --export([set_process_metadata/1, unset_process_metadata/0, - get_process_metadata/0]). +-export([set_process_metadata/1, update_process_metadata/1, + unset_process_metadata/0, get_process_metadata/0]). -export([i/0, i/1]). -export([setup_standard_handler/0, replace_simple_handler/3]). -export([limit_term/1, get_format_depth/0, get_max_size/0, get_utc_config/0]). @@ -390,6 +390,19 @@ set_process_metadata(Meta) when is_map(Meta) -> set_process_metadata(Meta) -> erlang:error(badarg,[Meta]). +-spec update_process_metadata(Meta) -> ok when + Meta :: metadata(). +update_process_metadata(Meta) when is_map(Meta) -> + case get_process_metadata() of + undefined -> + set_process_metadata(Meta); + Meta0 when is_map(Meta0) -> + set_process_metadata(maps:merge(Meta0,Meta)), + ok + end; +update_process_metadata(Meta) -> + erlang:error(badarg,[Meta]). + -spec get_process_metadata() -> Meta | undefined when Meta :: metadata(). get_process_metadata() -> |