<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.1 from net.sourceforge.maven-taglib:maven-taglib-plugin:2.4:tagreference at 2020-05-10
 | Rendered using Apache Maven Fluido Skin 1.8
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.1" />
    <title>Log4j Tag Library &#x2013; Tag reference report.</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.8.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.8.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg"  alt=""/></a></div>
          <div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png"  alt=""/></a></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-05-10<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.13.3</li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../index.html" title="Log4j">Log4j</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="../../../" title="Logging Services">Logging Services</a></li>
      <li class="pull-right"><span class="divider">|</span>
<a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li>
      <li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/home.png" alt="Apache Log4j™ 2" border="0"/> Apache Log4j™ 2</li>
    <li><a href="../index.html" title="About"><span class="none"></span>About</a></li>
    <li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li>
    <li><a href="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</a></li>
    <li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li>
    <li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li>
    <li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</a></li>
    <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li>
    <li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li>
    <li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li>
    <li><a href="../security.html" title="Security"><span class="none"></span>Security</a></li>
    <li><a href="../support.html" title="Support"><span class="none"></span>Support</a></li>
    <li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li>
    <li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></li>
    <li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li>
    <li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/book.png" alt="Manual" border="0"/> Manual</li>
    <li><a href="../manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li>
    <li><a href="../manual/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li>
    <li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></span>Log4j 1.x Migration</a></li>
    <li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li>
    <li><a href="../manual/scala-api.html" title="Scala API"><span class="none"></span>Scala API</a></li>
    <li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li>
    <li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li>
    <li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li>
    <li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li>
    <li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li>
    <li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li>
    <li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li>
    <li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li>
    <li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li>
    <li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li>
    <li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li>
    <li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li>
    <li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li>
    <li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li>
    <li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/tag.png" alt="Related Projects" border="0"/> Related Projects</li>
    <li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li>
    <li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li>
    <li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li>
   <li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" border="0"/> Components</li>
    <li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li>
    <li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li>
    <li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li>
    <li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li>
    <li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li>
    <li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li>
    <li><a href="../log4j-jpl/index.html" title="JDK Platform Logger"><span class="none"></span>JDK Platform Logger</a></li>
    <li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li>
    <li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li>
    <li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li>
    <li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li>
    <li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li>
    <li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li>
    <li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li>
    <li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li>
    <li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li>
    <li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li>
    <li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li>
    <li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li>
    <li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li>
    <li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li>
   <li class="nav-header">Project Documentation</li>
    <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li>
    <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a>
     <ul class="nav nav-list">
      <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
      <li><a href="rat-report.html" title="Rat Report"><span class="none"></span>Rat Report</a></li>
      <li><a href="revapi-report.html" title="API Change Analysis"><span class="none"></span>API Change Analysis</a></li>
      <li><a href="checkstyle.html" title="Checkstyle"><span class="none"></span>Checkstyle</a></li>
      <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a></li>
      <li><a href="findbugs.html" title="FindBugs"><span class="none"></span>FindBugs</a></li>
      <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a></li>
      <li class="active"><a href="#"><span class="none"></span>Tag reference</a></li>
      <li><a href="tlddoc/index.html" title="Taglibdoc documentation"><span class="none"></span>Taglibdoc documentation</a></li>
      <li><a href="taglibvalidation.html" title="Tag library validation"><span class="none"></span>Tag library validation</a></li>
     </ul></li>
   <li class="nav-header"><img class="imageLink" src="icon-info-sign" alt="Log4j Project Information" border="0"/> Log4j Project Information</li>
    <li><a href="../dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li>
    <li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li>
    <li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li>
    <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li>
    <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li>
    <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li>
    <li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li>
    <li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li>
    <li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li>
   <li class="nav-header"><img class="imageLink" src="icon-cog" alt="Log4j Project Reports" border="0"/> Log4j Project Reports</li>
    <li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li>
    <li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li>
    <li><a href="../surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li>
    <li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >
<section>
<h2><a name="Tag_reference_sheet"></a>Tag reference sheet</h2>
<p>Tag library reference for the following tag libraries:</p>
<ul>
<li><a href="#log.tld">Log4j 2 Tag Library (log.tld)</a> - uri:http://logging.apache.org/log4j/tld/log</li></ul></section><a name="log.tld"></a><section>
<h2><a name="Log4j_2_Tag_Library_-_version_1.0"></a>Log4j 2 Tag Library - version 1.0</h2>
<p>The Log4j Log Tag Library creates the capability of inserting log
statements in JSPs without the use of Java scripting. It uses the standard Log4j 2 API to log
messages according to your Log4j configuration. You can learn more about Log4j 2 on the
&lt;a href=&quot;http://logging.apache.org/log4j/2.x/&quot;&gt;Log4j 2&lt;/a&gt; website.

This tag library is based on the Jakarta Commons Log Taglib by Joseph Ottinger and James
Strachan. For the most part, logging tags written against Jakarta Commons Log Taglib should
work against this library as well. However, the &quot;category&quot; attribute from Jakarta has become
the &quot;logger&quot; attribute in this library.

In accordance with the org.apache.logging.log4j.Logger API, this tag library has tags to
support the following logging calls: &quot;catching&quot;, &quot;entry&quot;, &quot;exit&quot;, &quot;log&quot;, &quot;trace&quot;, &quot;debug&quot;,
&quot;info&quot;, &quot;warn&quot;, &quot;error&quot;, and &quot;fatal&quot;. The &quot;trace&quot; tag was not supported in Jakarta Commons Log
Taglib. The &quot;setLogger&quot;, &quot;catching&quot;, &quot;entry&quot;, and &quot;trace&quot; tags are new to this library. This
tag library also supports the conditional tag &quot;ifEnabled&quot; (new) and troubleshooting tag &quot;dump&quot;
(existed in Jakarta Commons Log Taglib).

By default, this tag library uses a different Logger for each JSP named after the JSP ID.
You can customize the Logger in any of the logging tags or the &quot;ifEnabled&quot; tag with the
&quot;logger&quot; attribute. You can also use the &quot;setLogger&quot; tag to specify the Logger that should apply
for the rest of a JSP's execution. If the &quot;setLogger&quot; tag comes before any other logging tags in
a JSP, the default Logger for that JSP will not be created, but instead the specified logger is
the only one that will be used.

Every effort was made to optimize these tags and ensure decent performance, but users of
this library should keep in mind that the creation and execution of JSP tags adds significant
overhead to the standard Log4j method calls. While the &quot;trace&quot;, &quot;debug&quot;, and &quot;info&quot; options are
available in this library, their uses are not nanosecond order of magnitude with logging off
that users may be used to with standard Log4j method calls. Therefore, they should be used
sparingly. Use of the &quot;ifEnabled&quot; tag does not improve this performance; this tag is available
to conditionally evaluate other actions in addition to logging actions.</p>
<p><b>Namespace definition:</b> xmlns:log=&quot;http://logging.apache.org/log4j/tld/log&quot;</p>
<p><b>Tags</b></p>
<ul>
<li><a href="#log:catching">catching</a> Equivalent of org</li>
<li><a href="#log:debug">debug</a> Equivalent of org</li>
<li><a href="#log:dump">dump</a> Displays all variables bound to the specified scope</li>
<li><a href="#log:entry">entry</a> Equivalent of org</li>
<li><a href="#log:error">error</a> Equivalent of org</li>
<li><a href="#log:exit">exit</a> Equivalent of org</li>
<li><a href="#log:fatal">fatal</a> Equivalent of org</li>
<li><a href="#log:ifEnabled">ifEnabled</a> Conditional tag that evaluates its body only if the specified log level and
      marker are enabled</li>
<li><a href="#log:info">info</a> Equivalent of org</li>
<li><a href="#log:log">log</a> Equivalent of org</li>
<li><a href="#log:setLogger">setLogger</a> Sets the default Logger to use for the rest of this JSP's execution OR exports
      an org</li>
<li><a href="#log:trace">trace</a> Equivalent of org</li>
<li><a href="#log:warn">warn</a> Equivalent of org</li></ul>
<p>Required attributes are marked with a<b>*</b></p><a name="log:catching"></a><section>
<h3><a name="a.3Clog:catching.3E"></a>&lt;log:catching&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#catching().</p>
<p>Can contain:empty</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;c:catch var=&quot;myException&quot;&gt;
    &lt;%= 5 / 0 %&gt;
&lt;/c:catch&gt;
&lt;c:if test=&quot;${myException != null}&quot;&gt;
    &lt;log:catching exception=&quot;${myException}&quot; /&gt;
&lt;/c:if&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td><b>exception*</b></td>
<td>The exception that should be logged.</td>
<td>String</td></tr>
<tr class="a">
<td>level</td>
<td>The name of any valid level (TRACE, DEBUG, INFO, etc.) or an actual Level
        instance to log this at. This value is case-insensitive and defaults to ERROR for this
        tag.</td>
<td>String</td></tr>
<tr class="b">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr></table></section></section><a name="log:debug"></a><section>
<h3><a name="a.3Clog:debug.3E"></a>&lt;log:debug&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#debug(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:debug message=&quot;Log this message.&quot; /&gt;
&lt;log:debug logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
           marker=&quot;${marker}&quot; /&gt;
&lt;log:debug logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:debug&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="b">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="a">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:dump"></a><section>
<h3><a name="a.3Clog:dump.3E"></a>&lt;log:dump&gt;</h3>
<p>Displays all variables bound to the specified scope.</p>
<p>Can contain:empty</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:dump scope=&quot;page&quot; /&gt;
&lt;log:dump scope=&quot;request&quot; /&gt;
&lt;log:dump scope=&quot;session&quot; /&gt;
&lt;log:dump scope=&quot;application&quot; /&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td><b>scope*</b></td>
<td>Either &quot;page,&quot; &quot;request,&quot; &quot;session,&quot; or &quot;application,&quot; the scope whose bound
        variables should be dumped onto the page inline.</td>
<td>String</td></tr></table></section></section><a name="log:entry"></a><section>
<h3><a name="a.3Clog:entry.3E"></a>&lt;log:entry&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#entry(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values
      will be logged with this entry (TRACE) statement. The attribute names will be
      ignored.</p>
<p>Can contain:empty</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:entry /&gt;
&lt;log:entry logger=&quot;com.foo.bar&quot; /&gt;
&lt;log:entry arg1=&quot;${value1}&quot; arg2=&quot;${value2}&quot; /&gt;
&lt;log:entry logger=&quot;${myLogger}&quot; argA=&quot;${value1}&quot; argB=&quot;${value2}&quot; /&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr></table></section></section><a name="log:error"></a><section>
<h3><a name="a.3Clog:error.3E"></a>&lt;log:error&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#error(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:error message=&quot;Log this message.&quot; /&gt;
&lt;log:error logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
           marker=&quot;${marker}&quot; /&gt;
&lt;log:error logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:error&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="b">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="a">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="b">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:exit"></a><section>
<h3><a name="a.3Clog:exit.3E"></a>&lt;log:exit&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#exit().</p>
<p>Can contain:empty</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:exit /&gt;
&lt;log:exit logger=&quot;com.foo.bar&quot; /&gt;
&lt;log:exit result=&quot;${value}&quot; /&gt;
&lt;log:exit logger=&quot;${myLogger}&quot; result=&quot;${value}&quot; /&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="a">
<td>result</td>
<td>An optional object to log with the exit (TRACE) statement.</td>
<td>String</td></tr></table></section></section><a name="log:fatal"></a><section>
<h3><a name="a.3Clog:fatal.3E"></a>&lt;log:fatal&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#fatal(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:fatal message=&quot;Log this message.&quot; /&gt;
&lt;log:fatal logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
           marker=&quot;${marker}&quot; /&gt;
&lt;log:fatal logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:fatal&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="b">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="a">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="b">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:ifEnabled"></a><section>
<h3><a name="a.3Clog:ifEnabled.3E"></a>&lt;log:ifEnabled&gt;</h3>
<p>Conditional tag that evaluates its body only if the specified log level and
      marker are enabled.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:ifEnabled level=&quot;info&quot;&gt;
    Evaluate this content
&lt;/log:ifEnabled&gt;

&lt;log:ifEnabled logger=&quot;com.foo.bar&quot; level=&quot;INFO&quot; marker=&quot;${marker}&quot;&gt;
    Evaluate this content
&lt;/log:ifEnabled&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td><b>level*</b></td>
<td>The name of any valid Level (TRACE, DEBUG, INFO, etc.) or an actual Level
        instance to check whether it is enabled. This value is case-insensitive.</td>
<td>String</td></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="b">
<td>marker</td>
<td>Marker data to include in the enabled check.</td>
<td>org.apache.logging.log4j.Marker</td></tr></table></section></section><a name="log:info"></a><section>
<h3><a name="a.3Clog:info.3E"></a>&lt;log:info&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#info(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:info message=&quot;Log this message.&quot; /&gt;
&lt;log:info logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
          marker=&quot;${marker}&quot; /&gt;
&lt;log:info logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:info&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="b">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="a">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:log"></a><section>
<h3><a name="a.3Clog:log.3E"></a>&lt;log:log&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#log(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:log level=&quot;warn&quot; message=&quot;Log this message.&quot; /&gt;
&lt;log:log logger=&quot;com.foo.bar&quot; level=&quot;ERROR&quot; message=&quot;${objectToLog}&quot;
         exception=&quot;${exception}&quot; marker=&quot;${marker}&quot; /&gt;
&lt;log:log logger=&quot;com.foo.bar&quot; level=&quot;info&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:log&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="b">
<td><b>level*</b></td>
<td>The name of any valid level (TRACE, DEBUG, INFO, etc.) or an actual Level
        instance to log this at. This value is case-insensitive.</td>
<td>String</td></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="b">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="a">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:setLogger"></a><section>
<h3><a name="a.3Clog:setLogger.3E"></a>&lt;log:setLogger&gt;</h3>
<p>Sets the default Logger to use for the rest of this JSP's execution OR exports
      an org.apache.logging.log4j.Logger instance as the specified EL variable. The &quot;value&quot;
      attribute specifies either the String name of a Logger to create or an actual Logger instance.
      By default, Loggers are constructed and assigned the standard
      org.apache.logging.log4j.message.ParameterizedMessageFactory. The optional &quot;factory&quot; attribute
      can be used to override the default message factory.</p>
<p>Can contain:empty</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:logger value=&quot;com.foo.bar&quot; /&gt;
&lt;log:logger value=&quot;com.bar.foo&quot; var=&quot;myLogger&quot; /&gt;
&lt;log:debug message=&quot;This should log with com.foo.bar.&quot; /&gt;
&lt;log:debug logger=&quot;${myLogger}&quot; message=&quot;This should log with com.bar.foo.&quot; /&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>factory</td>
<td>Specify this optional tag to provide a message factory other than the default
        ParameterizedMessageFactory message factory to use for the Logger. If the Logger has already
        been created with a different message factory, this will be ignored. Using this attribute
        makes no sense if the &quot;value&quot; attribute's value is an actual Logger instance, since its
        message factory cannot be changed.</td>
<td>org.apache.logging.log4j.message.MessageFactory</td></tr>
<tr class="b">
<td><b>logger*</b></td>
<td>The name or instance of the Logger to set as the JSP's default Logger or
        the name of the Logger to export as the specified EL variable.</td>
<td>String</td></tr>
<tr class="a">
<td>scope</td>
<td>Either &quot;page,&quot; &quot;request,&quot; &quot;session,&quot; or &quot;application,&quot; the optional scope that
        the EL variable should be exported to (defaults to &quot;page&quot;).</td>
<td>String</td></tr>
<tr class="b">
<td>var</td>
<td>The optional name of the EL variable to export this Logger as. Using this
        attribute makes no sense if the &quot;value&quot; attribute's value is an actual Logger instance.
        That would result in an existing Logger on the scope being re-added to the
        scope.</td>
<td>String</td></tr></table></section></section><a name="log:trace"></a><section>
<h3><a name="a.3Clog:trace.3E"></a>&lt;log:trace&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#trace(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:trace message=&quot;Log this message.&quot; /&gt;
&lt;log:trace logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
           marker=&quot;${marker}&quot; /&gt;
&lt;log:trace logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:trace&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="b">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="a">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="b">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="a">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section><a name="log:warn"></a><section>
<h3><a name="a.3Clog:warn.3E"></a>&lt;log:warn&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#warn(). This tag has dynamic
      attributes enabled. You may specify any number of arbitrary attributes whose values will be
      substituted in the String message. The &quot;message&quot; must be a String for this to work correctly.
      See the Log4j 2 manual for more information about message parameters and substitution. Only
      attribute values are used; attribute names are ignored.</p>
<p>Can contain:JSP</p><section>
<h4><a name="Example"></a>Example</h4>
<div class="source"><pre class="prettyprint">
&lt;log:warn message=&quot;Log this message.&quot; /&gt;
&lt;log:warn logger=&quot;com.foo.bar&quot; message=&quot;${objectToLog}&quot; exception=&quot;${exception}&quot;
          marker=&quot;${marker}&quot; /&gt;
&lt;log:warn logger=&quot;com.foo.bar&quot; exception=&quot;${exception}&quot; marker=&quot;${marker}&quot;&gt;
    Log this message
&lt;/log:warn&gt;
    </pre></div></section><section>
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="table table-striped">
<tr class="b">
<th>Name</th>
<th>Description</th>
<th>Type</th></tr>
<tr class="a">
<td>exception</td>
<td>Optional exception that should be logged.</td>
<td>String</td></tr>
<tr class="b">
<td>logger</td>
<td>The name or instance of the Logger to use to override the default Logger
        for this JSP.</td>
<td>String</td></tr>
<tr class="a">
<td>marker</td>
<td>Optional marker data to include in this logging event.</td>
<td>org.apache.logging.log4j.Marker</td></tr>
<tr class="b">
<td>message</td>
<td>The message that should be logged. May be a String, Object, or
        org.apache.logging.log4j.message.Message. Either this attribute or body content are
        required.</td>
<td>String</td></tr></table></section></section></section><!-- PB -->
        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
<p align="center">Copyright &copy; 1999-2020 <a class="external" href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br>
      Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
        </div>
      </div>
    </footer>
  </body>
</html>
