blob: 5e828094283f76d1b081c6bb45ae1fbe5cf15694 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ShutdownCallbackRegistry (Apache Log4j Core 2.23.1 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.logging.log4j.core.util, interface: ShutdownCallbackRegistry">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ShutdownCallbackRegistry.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.logging.log4j.core.util</a></div>
<h1 title="Interface ShutdownCallbackRegistry" class="title">Interface ShutdownCallbackRegistry</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="DefaultShutdownCallbackRegistry.html" title="class in org.apache.logging.log4j.core.util">DefaultShutdownCallbackRegistry</a></code>, <code><a href="../impl/Log4jContextFactory.html" title="class in org.apache.logging.log4j.core.impl">Log4jContextFactory</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ShutdownCallbackRegistry</span></div>
<div class="block">Registry used for Runnable shutdown callback instances. Due to differing requirements of how late in the JVM
lifecycle Log4j should be shut down, this interface is provided for customizing how to register shutdown hook
callbacks. Implementations may optionally implement <a href="../LifeCycle.html" title="interface in org.apache.logging.log4j.core"><code>LifeCycle</code></a>.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>2.1</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="#SHUTDOWN_CALLBACK_REGISTRY" class="member-name-link">SHUTDOWN_CALLBACK_REGISTRY</a></code></div>
<div class="col-last even-row-color">
<div class="block">System property to set to choose the ShutdownCallbackRegistry.</div>
</div>
<div class="col-first odd-row-color"><code>static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color"><code><a href="#SHUTDOWN_HOOK_ENABLED" class="member-name-link">SHUTDOWN_HOOK_ENABLED</a></code></div>
<div class="col-last odd-row-color">
<div class="block">System property to set to override the global ability to register shutdown hooks.</div>
</div>
<div class="col-first even-row-color"><code>static final <a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/Marker.html" title="class or interface in org.apache.logging.log4j" class="external-link">Marker</a></code></div>
<div class="col-second even-row-color"><code><a href="#SHUTDOWN_HOOK_MARKER" class="member-name-link">SHUTDOWN_HOOK_MARKER</a></code></div>
<div class="col-last even-row-color">
<div class="block">Shared Marker to indicate log messages corresponding to shutdown hooks.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Cancellable.html" title="interface in org.apache.logging.log4j.core.util">Cancellable</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addShutdownCallback(java.lang.Runnable)" class="member-name-link">addShutdownCallback</a><wbr>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>&nbsp;callback)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Adds a Runnable shutdown callback to this class.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="SHUTDOWN_CALLBACK_REGISTRY">
<h3>SHUTDOWN_CALLBACK_REGISTRY</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">SHUTDOWN_CALLBACK_REGISTRY</span></div>
<div class="block">System property to set to choose the ShutdownCallbackRegistry.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.logging.log4j.core.util.ShutdownCallbackRegistry.SHUTDOWN_CALLBACK_REGISTRY">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="SHUTDOWN_HOOK_ENABLED">
<h3>SHUTDOWN_HOOK_ENABLED</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">SHUTDOWN_HOOK_ENABLED</span></div>
<div class="block">System property to set to override the global ability to register shutdown hooks.</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#org.apache.logging.log4j.core.util.ShutdownCallbackRegistry.SHUTDOWN_HOOK_ENABLED">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="SHUTDOWN_HOOK_MARKER">
<h3>SHUTDOWN_HOOK_MARKER</h3>
<div class="member-signature"><span class="modifiers">static final</span>&nbsp;<span class="return-type"><a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/Marker.html" title="class or interface in org.apache.logging.log4j" class="external-link">Marker</a></span>&nbsp;<span class="element-name">SHUTDOWN_HOOK_MARKER</span></div>
<div class="block">Shared Marker to indicate log messages corresponding to shutdown hooks.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="addShutdownCallback(java.lang.Runnable)">
<h3>addShutdownCallback</h3>
<div class="member-signature"><span class="return-type"><a href="Cancellable.html" title="interface in org.apache.logging.log4j.core.util">Cancellable</a></span>&nbsp;<span class="element-name">addShutdownCallback</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html" title="class or interface in java.lang" class="external-link">Runnable</a>&nbsp;callback)</span></div>
<div class="block">Adds a Runnable shutdown callback to this class.
Note: The returned <code>Cancellable</code> must be retained on heap by caller
to avoid premature garbage-collection of the registered callback (and to ensure
the callback runs on shutdown).</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>callback</code> - the shutdown callback to be executed upon shutdown.</dd>
<dt>Returns:</dt>
<dd>a Cancellable wrapper of the provided callback or <code>null</code> if the shutdown hook is disabled and
cannot be added.</dd>
<dt>Since:</dt>
<dd>2.1</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small><p align="center"> Copyright &copy; 1999-2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.<br/> Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation. </p></small></p>
</footer>
</div>
</div>
</body>
</html>