summaryrefslogtreecommitdiff
path: root/src/couch_log/src/couch_log_monitor.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/couch_log/src/couch_log_monitor.erl')
-rw-r--r--src/couch_log/src/couch_log_monitor.erl13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/couch_log/src/couch_log_monitor.erl b/src/couch_log/src/couch_log_monitor.erl
index ab0ae115f..96d7f3698 100644
--- a/src/couch_log/src/couch_log_monitor.erl
+++ b/src/couch_log/src/couch_log_monitor.erl
@@ -37,11 +37,24 @@ start_link() ->
gen_server:start_link(?MODULE, [], []).
+% OTP_RELEASE defined in OTP >= 21 only
+-ifdef(OTP_RELEASE).
+
+init(_) ->
+ % see https://erlang.org/doc/man/error_logger.html#add_report_handler-1
+ ok = error_logger:add_report_handler(?HANDLER_MOD),
+ ok = gen_event:add_sup_handler(error_logger, ?HANDLER_MOD, []),
+ {ok, nil}.
+
+-else.
+
init(_) ->
error_logger:start(),
ok = gen_event:add_sup_handler(error_logger, ?HANDLER_MOD, []),
{ok, nil}.
+-endif.
+
terminate(_, _) ->
ok.