<!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 Sun May 10 13:11:49 MST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Apache Log4j Liquibase Binding 2.13.3 API)</title>
<meta name="date" content="2020-05-10">
<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 Liquibase Binding 2.13.3 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="liquibase/ext/logging/log4j2/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="liquibase/ext/logging/log4j2/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:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:W">W</a>&nbsp;<a name="I:D">
<!--   -->
</a>
<h2 class="title">D</h2>
<dl>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#debug-java.lang.String-">debug(String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#debug-java.lang.String-java.lang.Throwable-">debug(String, Throwable)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#getPriority--">getPriority()</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:I">
<!--   -->
</a>
<h2 class="title">I</h2>
<dl>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#info-java.lang.String-">info(String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#info-java.lang.String-java.lang.Throwable-">info(String, Throwable)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><a href="liquibase/ext/logging/log4j2/package-summary.html">liquibase.ext.logging.log4j2</a> - package liquibase.ext.logging.log4j2</dt>
<dd>&nbsp;</dd>
<dt><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2"><span class="typeNameLink">Log4j2Logger</span></a> - Class in <a href="liquibase/ext/logging/log4j2/package-summary.html">liquibase.ext.logging.log4j2</a></dt>
<dd>
<div class="block">Logs Liquibase messages to Log4j 2.x.</div>
</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#Log4j2Logger--">Log4j2Logger()</a></span> - Constructor for class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#setLogLevel-java.lang.String-java.lang.String-">setLogLevel(String, String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#setName-java.lang.String-">setName(String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#severe-java.lang.String-">severe(String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#severe-java.lang.String-java.lang.Throwable-">severe(String, Throwable)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:W">
<!--   -->
</a>
<h2 class="title">W</h2>
<dl>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#warning-java.lang.String-">warning(String)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="liquibase/ext/logging/log4j2/Log4j2Logger.html#warning-java.lang.String-java.lang.Throwable-">warning(String, Throwable)</a></span> - Method in class liquibase.ext.logging.log4j2.<a href="liquibase/ext/logging/log4j2/Log4j2Logger.html" title="class in liquibase.ext.logging.log4j2">Log4j2Logger</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:D">D</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</a>&nbsp;<a href="#I:L">L</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="liquibase/ext/logging/log4j2/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="liquibase/ext/logging/log4j2/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>
