<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_144) on Sat Apr 25 12:11:41 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DiscardingAsyncQueueFullPolicy (Apache Log4j Core 2.13.2 API)</title>
<meta name="date" content="2020-04-25">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DiscardingAsyncQueueFullPolicy (Apache Log4j Core 2.13.2 API)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":9,"i1":10,"i2":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DiscardingAsyncQueueFullPolicy.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html" target="_top">Frames</a></li>
<li><a href="DiscardingAsyncQueueFullPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.logging.log4j.core.async</div>
<h2 title="Class DiscardingAsyncQueueFullPolicy" class="title">Class DiscardingAsyncQueueFullPolicy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async">org.apache.logging.log4j.core.async.DefaultAsyncQueueFullPolicy</a></li>
<li>
<ul class="inheritance">
<li>org.apache.logging.log4j.core.async.DiscardingAsyncQueueFullPolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a></dd>
</dl>
<hr>
<br>
<pre>public class <a href="../../../../../../src-html/org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#line.32">DiscardingAsyncQueueFullPolicy</a>
extends <a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async">DefaultAsyncQueueFullPolicy</a></pre>
<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 more specific than
 the specified threshold level are dropped. If this is not the case, the {@linkplain DefaultAsyncQueueFullPolicy
 default routing rules hold.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../../org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#DiscardingAsyncQueueFullPolicy-org.apache.logging.log4j.Level-">DiscardingAsyncQueueFullPolicy</a></span>(org.apache.logging.log4j.Level&nbsp;thresholdLevel)</code>
<div class="block">Constructs a router that will discard events equal or less specific
 than the specified threshold level when the queue is full.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#getDiscardCount-org.apache.logging.log4j.core.async.AsyncQueueFullPolicy-">getDiscardCount</a></span>(<a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a>&nbsp;router)</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../../org/apache/logging/log4j/core/async/EventRoute.html" title="enum in org.apache.logging.log4j.core.async">EventRoute</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#getRoute-long-org.apache.logging.log4j.Level-">getRoute</a></span>(long&nbsp;backgroundThreadId,
        org.apache.logging.log4j.Level&nbsp;level)</code>
<div class="block">Returns the appropriate route for the current log event, given the specified parameters.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>org.apache.logging.log4j.Level</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#getThresholdLevel--">getThresholdLevel</a></span>()</code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="DiscardingAsyncQueueFullPolicy-org.apache.logging.log4j.Level-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DiscardingAsyncQueueFullPolicy</h4>
<pre>public&nbsp;<a href="../../../../../../src-html/org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#line.44">DiscardingAsyncQueueFullPolicy</a>(org.apache.logging.log4j.Level&nbsp;thresholdLevel)</pre>
<div class="block">Constructs a router that will discard events equal or less specific
 than the specified threshold level when the queue is full.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>thresholdLevel</code> - level of events to discard</dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getRoute-long-org.apache.logging.log4j.Level-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRoute</h4>
<pre>public&nbsp;<a href="../../../../../../org/apache/logging/log4j/core/async/EventRoute.html" title="enum in org.apache.logging.log4j.core.async">EventRoute</a>&nbsp;<a href="../../../../../../src-html/org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#line.49">getRoute</a>(long&nbsp;backgroundThreadId,
                           org.apache.logging.log4j.Level&nbsp;level)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html#getRoute-long-org.apache.logging.log4j.Level-">AsyncQueueFullPolicy</a></code></span></div>
<div class="block">Returns the appropriate route for the current log event, given the specified parameters.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html#getRoute-long-org.apache.logging.log4j.Level-">getRoute</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html#getRoute-long-org.apache.logging.log4j.Level-">getRoute</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async">DefaultAsyncQueueFullPolicy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>backgroundThreadId</code> - the thread ID of the background thread. Can be compared with the current thread's ID.</dd>
<dd><code>level</code> - the level of the log event</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the appropriate route for the current event</dd>
</dl>
</li>
</ul>
<a name="getDiscardCount-org.apache.logging.log4j.core.async.AsyncQueueFullPolicy-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDiscardCount</h4>
<pre>public static&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#line.62">getDiscardCount</a>(<a href="../../../../../../org/apache/logging/log4j/core/async/AsyncQueueFullPolicy.html" title="interface in org.apache.logging.log4j.core.async">AsyncQueueFullPolicy</a>&nbsp;router)</pre>
</li>
</ul>
<a name="getThresholdLevel--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getThresholdLevel</h4>
<pre>public&nbsp;org.apache.logging.log4j.Level&nbsp;<a href="../../../../../../src-html/org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html#line.69">getThresholdLevel</a>()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DiscardingAsyncQueueFullPolicy.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">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/logging/log4j/core/async/DefaultAsyncQueueFullPolicy.html" title="class in org.apache.logging.log4j.core.async"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../../org/apache/logging/log4j/core/async/DisruptorBlockingQueueFactory.html" title="class in org.apache.logging.log4j.core.async"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/logging/log4j/core/async/DiscardingAsyncQueueFullPolicy.html" target="_top">Frames</a></li>
<li><a href="DiscardingAsyncQueueFullPolicy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small><p align="center">Copyright &#169; 1999-2020 <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>
</body>
</html>
