aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/logger_server.erl
AgeCommit message (Collapse)Author
2018-10-03[logger] Start using handler callback changing_config/3 in built-in handlersSiri Hansen
The new parameter to this function, SetOrUpdate, indicates how unspecified configuration data fields shall be set. The rule is that if SetOrUpdate equals set, then default values shall be used, and if SetOrUpdate equals update, then existing configuration values shall be used. Consequently, these examples now apply to logger_std_h and logger_disk_log_h: set_handler_config(default, config, #{sync_mode_qlen => 20}) sets the value of sync_mode_qlen to 20, and resets all other (writable) fields in the config map to their default values. update_handler_config(default, config, #{sync_mode_qlen => 20}) sets the value of sync_mode_qlen to 20, and leaves all other fields in the config map unchanged.
2018-10-03[logger] Add update_handler_config/3Siri Hansen
This function is similar to set_handler_config/3, but calls the handler callback changing_config/3 with the first parameter SetOrUpdate=update.
2018-09-20[logger] Add SetOrUpdate parameter to handler callback changing_configSiri Hansen
Since logger has now knowledge of the handler specific data ('config' field in the handler configuration map), it can not merge this data structure with default or old values upon configuration change. Instead, the handler callback changing_config must do this. Earlier, this callback did not reflect if the configuration change was initiated by a call to set_handler_config or update_handler_config, so the handler did not know if unspecified fields should get default values or the values from the existing configuration. To overcome this problem, the new parameter SetOrUpdate is added to this callback. If SetOrUpdate equals set, then default values should be used. If SetOrUpdate equals update, then existing configuration values should be used.
2018-09-12[logger] Check for deadlock when removing filtersSiri Hansen
If a filter fails, it is removed by a call to logger:remove_filter/1,2. If the log event that caused the failure was issued on the logger process itself, this would earlier cause a deadlock due to a gen_server:call to self(). This is now prevented.
2018-09-12[logger] Improve code coverage in testSiri Hansen
2018-09-12[logger] Refactor some logger internalsSiri Hansen
2018-07-16kernel: Add logger:set_application_level/2Lukas Larsson
OTP-15146
2018-06-18Update copyright yearHenrik Nord
2018-06-12Merge pull request #1835 from sirihansen/siri/logger-fixSiri Hansen
2018-06-11[logger] Change default primary log level to 'notice'Siri Hansen
Log events issued via error_logger:info_msg or error_logger:info_report are now forwarded to Logger with level 'notice' instead of 'info'. Log events issued by gen_* behaviours are also changed from level 'info' to level 'notice'. Progress reports are still 'info', and can therefore easily be included/excluded by changing the primary log level. By default, they are not logged.
2018-06-11Merge branch 'lukas/kernel/logger-config/OTP-13295'Lukas Larsson
* lukas/kernel/logger-config/OTP-13295: erts: Fix emulator log messages to use erlang:system_time kernel: Add LOGGER_SERVER_TAG to logger_server
2018-06-08[logger] Update return values from get_handler_config/0,1 and get_config/0Siri Hansen
Module and Id are now always included as fields in Config, so these are no longer returned as separate elements.
2018-06-08[logger] Change name of handler specific config field from ?MODULE to 'config'Siri Hansen
And add field 'module' in handler config.
2018-06-08[logger] Change concept of 'global' configuration to 'primary' configurationSiri Hansen
Function names changed: get/set/update_logger_config -> get/set/update_primary_config add/remove_logger_filter -> add/remove_primary_filter
2018-06-08[logger] Add configurable log levels 'all' and 'none'Siri Hansen
New default for handlers is 'all'.
2018-06-08[logger] Update interface for setting/unsetting module levelSiri Hansen
* Level can now be set/unset for multiple modules in one call. * Added functions get_module_level/0 and get_module_level/1.
2018-06-08[logger] Change handler config to accept all levels by defaultSiri Hansen
2018-06-04kernel: Add LOGGER_SERVER_TAG to logger_serverLukas Larsson
This makes recursive calls to not dead-lock logger_server.
2018-05-23Rename module logger_simple to logger_simple_hSiri Hansen
Also, change HandlerId from logger_simple to simple.
2018-05-23Remove HandlerId from handler callback functions and add it to ConfigSiri Hansen
2018-05-23Rename reset_module_level to unset_module_levelSiri Hansen
2018-05-23Add logger:update_formatter_config/2,3Siri Hansen
2018-05-23Set legacy_header=true for kernel's default handler onlySiri Hansen
2018-05-21Add update_logger_config/1 and update_handler_config/2 to loggerSiri Hansen
2018-05-21Hide handlers field in logger config map from the APISiri Hansen
This field contains the index of all installed handlers. It is internal and can not be altered by the user, and should therefore not be visible.
2018-05-21Improve santiy check of formatter configSiri Hansen
2018-05-21kernel: Make all handler callbacks not block loggerLukas Larsson
2018-05-21logger: Rework configuration of loggerLukas Larsson
Most logger configuration that was possible through kernel application variables have been moved into a common 'logger' application environment in kernel. Now all the configuration possible through the logger API can be done as sys config. The handler started by kernel has been renamed to 'default' instead of logger_std_h. There is a new logger:setup_handlers/1 function that given an application name can be used to setup handlers in other applications.
2018-05-07Change logger callback removing_handler/1 to removing_handler/2Siri Hansen
2018-05-07Don't crash logger_server due to unexpected messageSiri Hansen
2018-04-26Add loggerSiri Hansen