aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/logger_disk_log_h.erl
AgeCommit message (Collapse)Author
2018-10-19[logger] Write asynchronously to disk logSiri Hansen
This commit updates logger_disk_log_h to write most log events asynchronlously (disk_log:balog/2), but synchronously (disk_log:blog/2) on every 20th event in the same way as logger_std_h does. This is for efficiency reasons.
2018-10-19[logger] Further refactor built-in handlersSiri Hansen
2018-10-19[logger] Move common handler code to logger_h_commonSiri Hansen
There was a lot of duplicated code in logger_std_h and logger_disk_log_h. Most of this is now moved to logger_h_common, which now also serves as the gen_server callback.
2018-10-03[logger] Add handler callback filter_config/1Siri Hansen
This function is called when a logger API function for fetching handler configuration is called. The point is to allow the handler to remove internal data fields that it might have stored in the configuration database, before returning the handler configuration to the caller. An example of such internal data are the 'handler_pid' and 'mode_tab' fields that logger_std_h and logger_disk_log_h store in their configuration maps.
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-09-14[logger] Read config before terminating handler processSiri Hansen
When a handler process is terminated due to overload, it reads its configuration from the configuration database, so it can be restarted with the same configuration after a small delay. This was earlier done in a different process, which was spawned off from the terminate function. This caused a race condition, where in some cases, the configuration was already removed before it could be read. The reason for spawning off a process, is to avoid a deadlock due to the call to logger:remove_handler/1. This commit moves the call to logger:get_handler_config/1 back to the handler process - to ensure that the data is still there, but keeps the call to logger:remove_handler/1 in the spawned off process - to avoid deadlock.
2018-09-12[logger] Fix spec for handler callbacks to always return okSiri Hansen
2018-09-12[logger] Refactor some logger internalsSiri Hansen
2018-07-13[kernel] Reduce risk of dead lock when terminating logger_supSiri Hansen
2018-06-18Update copyright yearHenrik Nord
2018-06-15Merge branch 'siri/logger-fix'Siri Hansen
* siri/logger-fix: [logger] Update documentation [logger] Adjust priority settings in test [logger] Unregister handler names before terminating [logger] Stress overload_kill tests in disk_log handler
2018-06-15[logger] Unregister handler names before terminatingSiri Hansen
2018-06-13[logger] Change name of function sync/1 to filesync/1Peter Andersson
2018-06-11[logger] Move the disk log options to the handler config mapPeter Andersson
Conflicts: lib/kernel/src/logger_disk_log_h.erl
2018-06-11[logger] Removed unused code in logger_std_h and logger_disk_log_hSiri Hansen
2018-06-11[logger] Split config() in two: primary_config() and handler_config()Siri Hansen
2018-06-11[logger] Change names of overload config parameters in build-in handlersPeter Andersson
2018-06-11[logger] Implement logging of handler overload statusPeter Andersson
Conflicts: lib/kernel/src/logger_disk_log_h.erl lib/kernel/src/logger_std_h.erl
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 registered name of built-in handlers and use TID for mode tablePeter Andersson
2018-06-08[logger] Change names of sync functions in built-in handlersSiri Hansen
logger_std_h:filesync/1 -----> logger_std_h:sync/1 logger_disk_log_h:disk_log_sync/1 -----> logger_disk_log_h:sync/1
2018-05-23Change type name logger:log() to logger:log_event()Siri Hansen
2018-05-23Remove HandlerId from handler callback functions and add it to ConfigSiri Hansen
2018-05-21Merge remote-tracking branch 'peppe/peppe/kernel/logger_handler_fixes'Siri Hansen
* peppe/peppe/kernel/logger_handler_fixes: Various logger handler improvements and updated test cases Make it possible to disable sync and drop mode Conflicts: lib/kernel/test/logger_disk_log_h_SUITE.erl lib/kernel/test/logger_std_h_SUITE.erl
2018-05-07Change logger callback removing_handler/1 to removing_handler/2Siri Hansen
2018-05-04Various logger handler improvements and updated test casesPeter Andersson
2018-04-26Add loggerSiri Hansen