blob: b859fd80053f31c3a6d0e25ee8b2fd9e397717c6 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>org.apache.logging.log4j.core.async (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.async">
<meta name="generator" content="javadoc/PackageWriterImpl">
<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="package-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 class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-use.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#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</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">
<div class="header">
<h1 title="Package org.apache.logging.log4j.core.async" class="title">Package org.apache.logging.log4j.core.async</h1>
</div>
<hr>
<div class="package-signature"><span class="annotations">@Export
@Version("2.23.0")
</span>package <span class="element-name">org.apache.logging.log4j.core.async</span></div>
<section class="package-description" id="package-description">
<div class="block">Provides Asynchronous Logger classes and interfaces for low-latency logging.</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">org.apache.logging.log4j.core</a></div>
<div class="col-last even-row-color">
<div class="block">Implementation of Log4j 2.</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab3" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab3', 2)" class="table-tab">Enums</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ArrayBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async">ArrayBlockingQueueFactory</a>&lt;E&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Factory for creating instances of <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ArrayBlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link"><code>ArrayBlockingQueue</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncLogger.html" title="class in org.apache.logging.log4j.core.async">AsyncLogger</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">AsyncLogger is a logger designed for high throughput and low latency logging.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfig.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Asynchronous Logger object that is created via configuration and can be
combined with synchronous loggers.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfig.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig.Builder</a>&lt;B extends <a href="AsyncLoggerConfig.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig.Builder</a>&lt;B&gt;&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfig.RootLogger.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig.RootLogger</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">An asynchronous root Logger.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfig.RootLogger.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig.RootLogger.Builder</a>&lt;B extends <a href="AsyncLoggerConfig.RootLogger.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfig.RootLogger.Builder</a>&lt;B&gt;&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfigDefaultExceptionHandler.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfigDefaultExceptionHandler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default disruptor exception handler for errors that occur in the AsyncLogger background thread.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="AsyncLoggerConfigDelegate.html" title="interface in org.apache.logging.log4j.core.async">AsyncLoggerConfigDelegate</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Encapsulates the mechanism used to log asynchronously.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfigDisruptor.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfigDisruptor</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Helper class decoupling the <code>AsyncLoggerConfig</code> class from the LMAX Disruptor library.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncLoggerConfigDisruptor.Log4jEventWrapper.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerConfigDisruptor.Log4jEventWrapper</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">RingBuffer events contain all information necessary to perform the work in a separate thread.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerContext.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerContext</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block"><code>LoggerContext</code> that creates <code>AsyncLogger</code> objects.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncLoggerContextSelector.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerContextSelector</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block"><code>ContextSelector</code> that manages <code>AsyncLoggerContext</code> instances.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncLoggerDefaultExceptionHandler.html" title="class in org.apache.logging.log4j.core.async">AsyncLoggerDefaultExceptionHandler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Default disruptor exception handler for errors that occur in the AsyncLogger background thread.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncQueueFullMessageUtil.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullMessageUtil</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block"><b>Consider this class private.</b></div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Policy for deciding whether to discard the event, enqueue it or log the event on the current thread when the queue
is full.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncQueueFullPolicyFactory.html" title="class in org.apache.logging.log4j.core.async">AsyncQueueFullPolicyFactory</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Creates <a href="AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async"><code>AsyncQueueFullPolicy</code></a> instances based on user-specified system properties.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="AsyncWaitStrategyFactory.html" title="interface in org.apache.logging.log4j.core.async">AsyncWaitStrategyFactory</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">This interface allows users to configure a custom Disruptor WaitStrategy used for
Async Loggers and Async LoggerConfigs.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="AsyncWaitStrategyFactoryConfig.html" title="class in org.apache.logging.log4j.core.async">AsyncWaitStrategyFactoryConfig</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">This class allows users to configure the factory used to create
an instance of the LMAX disruptor WaitStrategy
used by Async Loggers in the log4j configuration.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AsyncWaitStrategyFactoryConfig.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncWaitStrategyFactoryConfig.Builder</a>&lt;B extends <a href="AsyncWaitStrategyFactoryConfig.Builder.html" title="class in org.apache.logging.log4j.core.async">AsyncWaitStrategyFactoryConfig.Builder</a>&lt;B&gt;&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Builds AsyncWaitStrategyFactoryConfig instances.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="BasicAsyncLoggerContextSelector.html" title="class in org.apache.logging.log4j.core.async">BasicAsyncLoggerContextSelector</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Returns either this Thread's context or the default <a href="AsyncLoggerContext.html" title="class in org.apache.logging.log4j.core.async"><code>AsyncLoggerContext</code></a>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BlockingQueueFactory.html" title="interface in org.apache.logging.log4j.core.async">BlockingQueueFactory</a>&lt;E&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Factory for creating instances of <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/BlockingQueue.html" title="class or interface in java.util.concurrent" class="external-link"><code>BlockingQueue</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async">DefaultAsyncQueueFullPolicy</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Default router: enqueue the event for asynchronous logging in the background thread, unless the current thread is the
background thread and the queue is full (enqueueing would cause a deadlock).</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="DiscardingAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async">DiscardingAsyncQueueFullPolicy</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Discarding router extends the DefaultAsyncQueueFullPolicy by first verifying if the queue is fuller than the specified
threshold ratio; if this is the case, log events <a href="https://logging.apache.org/log4j/2.x/apidocs/org/apache/logging/log4j/Level.html#isMoreSpecificThan(org.apache.logging.log4j.Level)" title="class or interface in org.apache.logging.log4j" class="external-link">more specific</a> than
the specified threshold level are dropped.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DisruptorBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async">DisruptorBlockingQueueFactory</a>&lt;E&gt;</div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Factory for creating instances of <code>DisruptorBlockingQueue</code>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="EventRoute.html" title="enum in org.apache.logging.log4j.core.async">EventRoute</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">Enumeration over the different destinations where a log event can be sent.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="InternalAsyncUtil.html" title="class in org.apache.logging.log4j.core.async">InternalAsyncUtil</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Helper class providing some async logging-related functionality.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="JCToolsBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async">JCToolsBlockingQueueFactory</a>&lt;E&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Factory for creating instances of BlockingQueues backed by JCTools <code>MpscArrayQueue</code>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab3"><a href="JCToolsBlockingQueueFactory.WaitStrategy.html" title="enum in org.apache.logging.log4j.core.async">JCToolsBlockingQueueFactory.WaitStrategy</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab3">&nbsp;</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="LinkedTransferQueueFactory.html" title="class in org.apache.logging.log4j.core.async">LinkedTransferQueueFactory</a>&lt;E&gt;</div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Factory for creating instances of <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/LinkedTransferQueue.html" title="class or interface in java.util.concurrent" class="external-link"><code>LinkedTransferQueue</code></a>.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RingBufferLogEvent.html" title="class in org.apache.logging.log4j.core.async">RingBufferLogEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">When the Disruptor is started, the RingBuffer is populated with event objects.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="RingBufferLogEventHandler.html" title="class in org.apache.logging.log4j.core.async">RingBufferLogEventHandler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">Deprecated.
<div class="deprecation-comment">Only used internally, will be removed in the next major version.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="RingBufferLogEventTranslator.html" title="class in org.apache.logging.log4j.core.async">RingBufferLogEventTranslator</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">This class is responsible for writing elements that make up a log event into
the ringbuffer <code>RingBufferLogEvent</code>.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab3"><a href="ThreadNameCachingStrategy.html" title="enum in org.apache.logging.log4j.core.async">ThreadNameCachingStrategy</a></div>
<div class="col-last even-row-color class-summary class-summary-tab3">
<div class="block">Strategy for deciding whether thread name should be cached or not.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</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>