<!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 Tue Feb 25 21:20:11 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Log4j Cassandra 2.13.1 API)</title>
<meta name="date" content="2020-02-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="Index (Apache Log4j Cassandra 2.13.1 API)";
        }
    }
    catch(err) {
    }
//-->
</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="org/apache/logging/log4j/cassandra/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/logging/log4j/cassandra/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#build--">build()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#Builder--">Builder()</a></span> - Constructor for class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><a href="org/apache/logging/log4j/cassandra/CassandraAppender.html" title="class in org.apache.logging.log4j.cassandra"><span class="typeNameLink">CassandraAppender</span></a> - Class in <a href="org/apache/logging/log4j/cassandra/package-summary.html">org.apache.logging.log4j.cassandra</a></dt>
<dd>
<div class="block">Appender plugin that uses a Cassandra database.</div>
</dd>
<dt><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra"><span class="typeNameLink">CassandraAppender.Builder</span></a>&lt;<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="type parameter in CassandraAppender.Builder">B</a> extends <a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a>&lt;<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="type parameter in CassandraAppender.Builder">B</a>&gt;&gt; - Class in <a href="org/apache/logging/log4j/cassandra/package-summary.html">org.apache.logging.log4j.cassandra</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra"><span class="typeNameLink">CassandraManager</span></a> - Class in <a href="org/apache/logging/log4j/cassandra/package-summary.html">org.apache.logging.log4j.cassandra</a></dt>
<dd>
<div class="block">Manager for a Cassandra appender instance.</div>
</dd>
<dt><a href="org/apache/logging/log4j/cassandra/ClockTimestampGenerator.html" title="class in org.apache.logging.log4j.cassandra"><span class="typeNameLink">ClockTimestampGenerator</span></a> - Class in <a href="org/apache/logging/log4j/cassandra/package-summary.html">org.apache.logging.log4j.cassandra</a></dt>
<dd>
<div class="block">A <code>TimestampGenerator</code> implementation using the configured <code>Clock</code>.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/ClockTimestampGenerator.html#ClockTimestampGenerator--">ClockTimestampGenerator()</a></span> - Constructor for class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/ClockTimestampGenerator.html" title="class in org.apache.logging.log4j.cassandra">ClockTimestampGenerator</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#commitAndClose--">commitAndClose()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#connectAndStart--">connectAndStart()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#getManager-java.lang.String-org.apache.logging.log4j.core.net.SocketAddress:A-org.apache.logging.log4j.core.appender.db.ColumnMapping:A-boolean-java.lang.String-java.lang.String-java.lang.String-java.lang.String-java.lang.String-boolean-int-boolean-com.datastax.driver.core.BatchStatement.Type-">getManager(String, SocketAddress[], ColumnMapping[], boolean, String, String, String, String, String, boolean, int, boolean, BatchStatement.Type)</a></span> - Static method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:N">
<!--   -->
</a>
<h2 class="title">N</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.html#newBuilder--">newBuilder()</a></span> - Static method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/ClockTimestampGenerator.html#next--">next()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/ClockTimestampGenerator.html" title="class in org.apache.logging.log4j.cassandra">ClockTimestampGenerator</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><a href="org/apache/logging/log4j/cassandra/package-summary.html">org.apache.logging.log4j.cassandra</a> - package org.apache.logging.log4j.cassandra</dt>
<dd>
<div class="block">Log4j appender plugin and supporting classes for Apache Cassandra.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setBatched-boolean-">setBatched(boolean)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setBatchType-com.datastax.driver.core.BatchStatement.Type-">setBatchType(BatchStatement.Type)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setBufferSize-int-">setBufferSize(int)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setClusterName-java.lang.String-">setClusterName(String)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setColumns-org.apache.logging.log4j.core.appender.db.ColumnMapping...-">setColumns(ColumnMapping...)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setContactPoints-org.apache.logging.log4j.core.net.SocketAddress...-">setContactPoints(SocketAddress...)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setKeyspace-java.lang.String-">setKeyspace(String)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setPassword-java.lang.String-">setPassword(String)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setTable-java.lang.String-">setTable(String)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setUseClockForTimestampGenerator-boolean-">setUseClockForTimestampGenerator(boolean)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setUsername-java.lang.String-">setUsername(String)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html#setUseTls-boolean-">setUseTls(boolean)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraAppender.Builder.html" title="class in org.apache.logging.log4j.cassandra">CassandraAppender.Builder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#shutdownInternal--">shutdownInternal()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#startupInternal--">startupInternal()</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/logging/log4j/cassandra/CassandraManager.html#writeInternal-org.apache.logging.log4j.core.LogEvent-java.io.Serializable-">writeInternal(LogEvent, Serializable)</a></span> - Method in class org.apache.logging.log4j.cassandra.<a href="org/apache/logging/log4j/cassandra/CassandraManager.html" title="class in org.apache.logging.log4j.cassandra">CassandraManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:W">W</a>&nbsp;</div>
<!-- ======= 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="org/apache/logging/log4j/cassandra/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/logging/log4j/cassandra/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.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>
<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>
