blob: f16c82f124fe627b4f5c00a92de084440aa17088 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Generated by Apache Maven Doxia at 2019-02-03 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Log4j Tag Library &#x2013; Tag reference report. - Apache Log4j Tag Library</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" type="text/css" />
<link rel="stylesheet" href="./css/site.css" type="text/css" />
<script type="text/javascript" src="./js/jquery.min.js"></script>
<script type="text/javascript" src="./js/bootstrap.min.js"></script>
<script type="text/javascript" src="./js/prettify.min.js"></script>
<script type="text/javascript" src="./js/site.js"></script>
<meta name="Date-Revision-yyyymmdd" content="20190203" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<a href="https://logging.apache.org/">
<img class="logo-left" src="./images/ls-logo.jpg" alt="Apache logging services logo" />
</a>
<img class="logo-right" src="./images/logo.png" alt="Apache log4j logo" />
<div class="clear"></div>
<div class="navbar">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand" href="https://logging.apache.org/log4j/2.x/log4j-taglib/">Apache Log4j Tag Library &trade;</a>
<ul class="nav">
<li>
<a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="external" target="_blank" title="Logging Wiki">Logging Wiki</a>
</li>
<li>
<a href="https://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="../../../" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="external" target="_blank" title="Sonar">Sonar</a>
</li>
<li>
<a href="https://github.com/apache/logging-log4j2" class="external" target="_blank" title="GitHub">GitHub</a>
</li>
<li>
<a href="http://www.apache.org/" class="external" target="_blank" title="Apache">Apache</a>
</li>
<li>
<a href="http://logging.apache.org/" class="external" target="_blank" title="Logging Services">Logging Services</a>
</li>
<li>
<a href="../index.html" title="Log4j">Log4j</a>
</li>
</ul>
</div>
</div>
</div>
<div class="container-fluid">
<table class="layout-table">
<tr>
<td class="sidebar">
<div class="well sidebar-nav">
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-home"></i>Apache Log4j™ 2</li>
<li class="none">
<a href="../index.html" title="About">About</a>
</li>
<li class="none">
<a href="../download.html" title="Download">Download</a>
</li>
<li class="collapsed">
<a href="../javadoc.html" title="Javadoc">Javadoc</a>
</li>
<li class="collapsed">
<a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts">Maven, Ivy, Gradle Artifacts</a>
</li>
<li class="none">
<a href="../runtime-dependencies.html" title="Runtime Dependencies">Runtime Dependencies</a>
</li>
<li class="none">
<a href="../changelog.html" title="Changelog">Changelog</a>
</li>
<li class="none">
<a href="../faq.html" title="FAQ">FAQ</a>
</li>
<li class="collapsed">
<a href="../performance.html" title="Performance">Performance</a>
</li>
<li class="none">
<a href="../articles.html" title="Articles and Tutorials">Articles and Tutorials</a>
</li>
<li class="none">
<a href="../thanks.html" title="Thanks">Thanks</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-pencil"></i>For Contributors</li>
<li class="none">
<a href="../build.html" title="Building Log4j from Source">Building Log4j from Source</a>
</li>
<li class="none">
<a href="../guidelines.html" title="Guidelines">Guidelines</a>
</li>
<li class="none">
<a href="../javastyle.html" title="Style Guide">Style Guide</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-book"></i>Manual</li>
<li class="none">
<a href="../manual/index.html" title="Introduction">Introduction</a>
</li>
<li class="none">
<a href="../manual/architecture.html" title="Architecture">Architecture</a>
</li>
<li class="none">
<a href="../manual/migration.html" title="Log4j 1.x Migration">Log4j 1.x Migration</a>
</li>
<li class="collapsed">
<a href="../manual/api.html" title="Java API">Java API</a>
</li>
<li class="none">
<a href="../manual/scala-api.html" title="Scala API">Scala API</a>
</li>
<li class="collapsed">
<a href="../manual/configuration.html" title="Configuration">Configuration</a>
</li>
<li class="collapsed">
<a href="../manual/usage.html" title="Usage">Usage</a>
</li>
<li class="collapsed">
<a href="../manual/webapp.html" title="Web Applications and JSPs">Web Applications and JSPs</a>
</li>
<li class="collapsed">
<a href="../manual/lookups.html" title="Lookups">Lookups</a>
</li>
<li class="collapsed">
<a href="../manual/appenders.html" title="Appenders">Appenders</a>
</li>
<li class="collapsed">
<a href="../manual/layouts.html" title="Layouts">Layouts</a>
</li>
<li class="collapsed">
<a href="../manual/filters.html" title="Filters">Filters</a>
</li>
<li class="collapsed">
<a href="../manual/async.html" title="Async Loggers">Async Loggers</a>
</li>
<li class="collapsed">
<a href="../manual/garbagefree.html" title="Garbage-free Logging">Garbage-free Logging</a>
</li>
<li class="none">
<a href="../manual/jmx.html" title="JMX">JMX</a>
</li>
<li class="none">
<a href="../manual/logsep.html" title="Logging Separation">Logging Separation</a>
</li>
<li class="collapsed">
<a href="../manual/extending.html" title="Extending Log4j">Extending Log4j</a>
</li>
<li class="collapsed">
<a href="../manual/plugins.html" title="Plugins">Plugins</a>
</li>
<li class="collapsed">
<a href="../manual/customconfig.html" title="Programmatic Log4j Configuration">Programmatic Log4j Configuration</a>
</li>
<li class="collapsed">
<a href="../manual/customloglevels.html" title="Custom Log Levels">Custom Log Levels</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-tags"></i>Related Projects</li>
<li class="none">
<a href="http://logging.apache.org/log4j/scala/index.html" class="external" target="_blank" title="Log4j-Scala">Log4j-Scala</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-tags"></i>Legacy</li>
<li class="none">
<a href="http://logging.apache.org/log4j/1.2/" class="external" target="_blank" title="Log4j 1.2">Log4j 1.2</a>
</li>
<li class="none">
<a href="http://logging.apache.org/log4j/log4j-2.3/" class="external" target="_blank" title="Log4j 2.3">Log4j 2.3</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Components</li>
<li class="none">
<a href="../log4j-api/index.html" title="API">API</a>
</li>
<li class="none">
<a href="../log4j-core/index.html" title="Implementation">Implementation</a>
</li>
<li class="none">
<a href="../log4j-jcl/index.html" title="Commons Logging Bridge">Commons Logging Bridge</a>
</li>
<li class="none">
<a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API">Log4j 1.2 API</a>
</li>
<li class="none">
<a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding">SLF4J Binding</a>
</li>
<li class="none">
<a href="../log4j-jul/index.html" title="JUL Adapter">JUL Adapter</a>
</li>
<li class="none">
<a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter">Log4j 2 to SLF4J Adapter</a>
</li>
<li class="none">
<a href="../log4j-flume-ng/index.html" title="Apache Flume Appender">Apache Flume Appender</a>
</li>
<li class="none active">
<a href="../log4j-taglib/index.html" title="Log4j Tag Library">Log4j Tag Library</a>
</li>
<li class="none">
<a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI">Log4j JMX GUI</a>
</li>
<li class="none">
<a href="../log4j-web/index.html" title="Log4j Web Application Support">Log4j Web Application Support</a>
</li>
<li class="none">
<a href="../log4j-appserver/index.html" title="Log4j Application Server Integration">Log4j Application Server Integration</a>
</li>
<li class="none">
<a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender">Log4j CouchDB appender</a>
</li>
<li class="none">
<a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender">Log4j MongoDB2 appender</a>
</li>
<li class="none">
<a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender">Log4j MongoDB3 appender</a>
</li>
<li class="none">
<a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender">Log4j Cassandra appender</a>
</li>
<li class="none">
<a href="../log4j-iostreams/index.html" title="Log4j IO Streams">Log4j IO Streams</a>
</li>
<li class="none">
<a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding">Log4j Liquibase Binding</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header">Component Documentation</li>
<li class="collapsed">
<a href="project-info.html" title="Component Information">Component Information</a>
</li>
<li class="expanded">
<a href="project-reports.html" title="Component Reports">Component Reports</a>
<ul>
<li class="none">
<a href="jira-report.html" title="JIRA Report">JIRA Report</a>
</li>
<li class="none">
<a href="rat-report.html" title="Rat Report">Rat Report</a>
</li>
<li class="none">
<a href="revapi-report.html" title="API Change Analysis">API Change Analysis</a>
</li>
<li class="none">
<a href="checkstyle.html" title="Checkstyle">Checkstyle</a>
</li>
<li class="none">
<a href="apidocs/index.html" title="Javadoc">Javadoc</a>
</li>
<li class="none">
<a href="findbugs.html" title="FindBugs">FindBugs</a>
</li>
<li class="none">
<a href="xref/index.html" title="Source Xref">Source Xref</a>
</li>
<li class="none active">
<a href="tagreference.html" title="Tag reference">Tag reference</a>
</li>
<li class="none">
<a href="tlddoc/index.html" title="Taglibdoc documentation">Taglibdoc documentation</a>
</li>
<li class="none">
<a href="taglibvalidation.html" title="Tag library validation">Tag library validation</a>
</li>
</ul>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-info-sign"></i>Log4j Project Information</li>
<li class="none">
<a href="../dependencies.html" title="Dependencies">Dependencies</a>
</li>
<li class="none">
<a href="../dependency-convergence.html" title="Dependency Convergence">Dependency Convergence</a>
</li>
<li class="none">
<a href="../dependency-management.html" title="Dependency Management">Dependency Management</a>
</li>
<li class="none">
<a href="../team-list.html" title="Project Team">Project Team</a>
</li>
<li class="none">
<a href="../mail-lists.html" title="Mailing Lists">Mailing Lists</a>
</li>
<li class="none">
<a href="../issue-tracking.html" title="Issue Tracking">Issue Tracking</a>
</li>
<li class="none">
<a href="../license.html" title="Project License">Project License</a>
</li>
<li class="none">
<a href="../source-repository.html" title="Source Repository">Source Repository</a>
</li>
<li class="none">
<a href="../project-summary.html" title="Project Summary">Project Summary</a>
</li>
</ul>
<ul class="nav nav-list">
<li class="nav-header"><i class="icon-cog"></i>Log4j Project Reports</li>
<li class="none">
<a href="../changes-report.html" title="Changes Report">Changes Report</a>
</li>
<li class="none">
<a href="../jira-report.html" title="JIRA Report">JIRA Report</a>
</li>
<li class="none">
<a href="../surefire-report.html" title="Surefire Report">Surefire Report</a>
</li>
<li class="none">
<a href="../rat-report.html" title="RAT Report">RAT Report</a>
</li>
</ul>
</div>
<div id="poweredBy">
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/maven-feather.png" />
</a>
</div>
</td>
<td class="content">
<div class="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></div><a name="log.tld"></a>
<div class="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>
<div class="section">
<h3><a name="alog:catching"></a>&lt;log:catching&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#catching().</p>
<p>Can contain:empty</p>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:debug"></a>
<div class="section">
<h3><a name="alog:debug"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:dump"></a>
<div class="section">
<h3><a name="alog:dump"></a>&lt;log:dump&gt;</h3>
<p>Displays all variables bound to the specified scope.</p>
<p>Can contain:empty</p>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:entry"></a>
<div class="section">
<h3><a name="alog:entry"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:error"></a>
<div class="section">
<h3><a name="alog:error"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:exit"></a>
<div class="section">
<h3><a name="alog:exit"></a>&lt;log:exit&gt;</h3>
<p>Equivalent of org.apache.logging.log4j.Logger#exit().</p>
<p>Can contain:empty</p>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:fatal"></a>
<div class="section">
<h3><a name="alog:fatal"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:ifEnabled"></a>
<div class="section">
<h3><a name="alog:ifEnabled"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:info"></a>
<div class="section">
<h3><a name="alog:info"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:log"></a>
<div class="section">
<h3><a name="alog:log"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:setLogger"></a>
<div class="section">
<h3><a name="alog:setLogger"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:trace"></a>
<div class="section">
<h3><a name="alog:trace"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div><a name="log:warn"></a>
<div class="section">
<h3><a name="alog:warn"></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>
<div class="section">
<h4><a name="Example"></a>Example</h4>
<div class="source">
<pre>
&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></div>
<div class="section">
<h4><a name="Attributes"></a>Attributes</h4>
<table border="0" class="bodyTable">
<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></div></div></div><!-- PB -->
</td>
</tr>
</table>
</div>
<div class="footer">
<p>Copyright &copy; 1999-2019 <a class="external" href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p>
<p>Site powered by <a class="external" href="http://getbootstrap.com/">Twitter Bootstrap</a>. Icons from <a class="external" href="http://glyphicons.com/">Glyphicons Free</a>.</p>
</div>
</div>
</body>
</html>