blob: 2f987c47f5f1bb8da47680c54963d2d908c24795 [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-08-06 -->
<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 Core &#x2013; CPD Results - Apache Log4j Core</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="20190806" />
<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-core/">Apache Log4j Core &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 active">
<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">
<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>
<li class="none">
<a href="../log4j-docker/index.html" title="Log4j Docker Support">Log4j Docker Support</a>
</li>
<li class="none">
<a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client">Log4j Spring Cloud Config Client</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="cpd.html" title="CPD">CPD</a>
</li>
<li class="none">
<a href="pmd.html" title="PMD">PMD</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="CPD_Results"></a>CPD Results</h2>
<p>The following document contains the results of PMD's <a class="externalLink" href="http://pmd.sourceforge.net/cpd.html">CPD</a> 6.4.0.</p></div>
<div class="section">
<h2><a name="Duplications"></a>Duplications</h2>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/LevelRangeFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/LevelRangeFilter.html#L108">108</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/ThresholdFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/ThresholdFilter.html#L75">75</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> }
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8, final Object p9) {
return filter(level);
}
public Level getMinLevel() {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/BurstFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/BurstFilter.html#L115">115</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/LevelRangeFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/LevelRangeFilter.html#L107">107</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> return filter(event.getLevel());
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8, final Object p9) {
return filter(level);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/BurstFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/BurstFilter.html#L116">116</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/ThresholdFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/ThresholdFilter.html#L75">75</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> }
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8) {
return filter(level);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8, final Object p9) {
return filter(level);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/MarkerFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/MarkerFilter.html#L72">72</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/NoMarkerFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/NoMarkerFilter.html#L63">63</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> }
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8, final Object p9) {
return filter(marker);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html#L126">126</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/TimeFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/TimeFilter.html#L147">147</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> }
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8) {
return filter();
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object p0, final Object p1, final Object p2, final Object p3,
final Object p4, final Object p5, final Object p6,
final Object p7, final Object p8, final Object p9) {
return filter();
}
// TODO Consider refactoring to use AbstractFilter.AbstractFilterBuilder
@PluginFactory</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/layout/JsonLayout.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/JsonLayout.html#L158">158</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/layout/YamlLayout.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/YamlLayout.html#L96">96</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> super(config, new JacksonFactory.JSON(encodeThreadContextAsList, includeStacktrace, stacktraceAsString, objectMessageAsJsonObject).newWriter(
locationInfo, properties, compact),
charset, compact, complete, eventEol, endOfLine,
PatternLayout.newSerializerBuilder().setConfiguration(config).setPattern(headerPattern).setDefaultPattern(DEFAULT_HEADER).build(),
PatternLayout.newSerializerBuilder().setConfiguration(config).setPattern(footerPattern).setDefaultPattern(DEFAULT_FOOTER).build(),
includeNullDelimiter,
additionalFields);
}
/**
* Returns appropriate JSON header.
*
* @return a byte array containing the header, opening the JSON array.
*/
@Override
public byte[] getHeader() {
if (!this.complete) {
return null;
}
final StringBuilder buf = new StringBuilder();
final String str = serializeToString(getHeaderSerializer());
if (str != null) {
buf.append(str);
}
buf.append(this.eol);
return getBytes(buf.toString());
}
/**
* Returns appropriate JSON footer.
*
* @return a byte array containing the footer, closing the JSON array.
*/
@Override
public byte[] getFooter() {
if (!this.complete) {
return null;
}
final StringBuilder buf = new StringBuilder();
buf.append(this.eol);
final String str = serializeToString(getFooterSerializer());
if (str != null) {
buf.append(str);
}
buf.append(this.eol);
return getBytes(buf.toString());
}
@Override
public Map&lt;String, String&gt; getContentFormat() {
final Map&lt;String, String&gt; result = new HashMap&lt;&gt;();
result.put(&quot;version&quot;, &quot;2.0&quot;);
return result;
}
/**
* @return The content type.
*/
@Override
public String getContentType() {
return CONTENT_TYPE + &quot;; charset=&quot; + this.getCharset();
}
/**
* Creates a JSON Layout.
* @param config
* The plugin configuration.
* @param locationInfo
* If &quot;true&quot;, includes the location information in the generated JSON.
* @param properties
* If &quot;true&quot;, includes the thread context map in the generated JSON.
* @param propertiesAsList
* If true, the thread context map is included as a list of map entry objects, where each entry has
* a &quot;key&quot; attribute (whose value is the key) and a &quot;value&quot; attribute (whose value is the value).
* Defaults to false, in which case the thread context map is included as a simple map of key-value
* pairs.
* @param complete
* If &quot;true&quot;, includes the JSON header and footer, and comma between records.
* @param compact
* If &quot;true&quot;, does not use end-of-lines and indentation, defaults to &quot;false&quot;.
* @param eventEol
* If &quot;true&quot;, forces an EOL after each log event (even if compact is &quot;true&quot;), defaults to &quot;false&quot;. This
* allows one even per line, even in compact mode.
* @param headerPattern
* The header pattern, defaults to {@code &quot;[&quot;} if null.
* @param footerPattern
* The header pattern, defaults to {@code &quot;]&quot;} if null.
* @param charset
* The character set to use, if {@code null}, uses &quot;UTF-8&quot;.
* @param includeStacktrace
* If &quot;true&quot;, includes the stacktrace of any Throwable in the generated JSON, defaults to &quot;true&quot;.
* @return A JSON Layout.
*
* @deprecated Use {@link #newBuilder()} instead
*/
@Deprecated
public static JsonLayout createLayout(</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/AwaitCompletionReliabilityStrategy.html#L47">47</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/config/LockingReliabilityStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/LockingReliabilityStrategy.html#L40">40</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> this.loggerConfig = Objects.requireNonNull(loggerConfig, &quot;loggerConfig is null&quot;);
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* java.lang.String, java.lang.String, org.apache.logging.log4j.Marker, org.apache.logging.log4j.Level,
* org.apache.logging.log4j.message.Message, java.lang.Throwable)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final String loggerName, final String fqcn,
final Marker marker, final Level level, final Message data, final Throwable t) {
final LoggerConfig config = getActiveLoggerConfig(reconfigured);
try {
config.log(loggerName, fqcn, marker, level, data, t);
} finally {
config.getReliabilityStrategy().afterLogEvent();
}
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* java.lang.String, java.lang.String, java.lang.StackTraceElement, org.apache.logging.log4j.Marker,
* org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, java.lang.Throwable)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final String loggerName, final String fqcn,
final StackTraceElement location, final Marker marker, final Level level, final Message data,
final Throwable t) {
final LoggerConfig config = getActiveLoggerConfig(reconfigured);
try {
config.log(loggerName, fqcn, location, marker, level, data, t);
} finally {
config.getReliabilityStrategy().afterLogEvent();
}
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* org.apache.logging.log4j.core.LogEvent)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final LogEvent event) {
final LoggerConfig config = getActiveLoggerConfig(reconfigured);
try {
config.log(event);
} finally {
config.getReliabilityStrategy().afterLogEvent();
}
}
/*
* (non-Javadoc)
*
* @see
* org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeLogEvent(org.apache.logging.log4j.core.config.
* LoggerConfig, org.apache.logging.log4j.util.Supplier)
*/
@Override
public LoggerConfig getActiveLoggerConfig(final Supplier&lt;LoggerConfig&gt; next) {
LoggerConfig result = this.loggerConfig;
if (!beforeLogEvent()) {
result = next.get();
return result == this.loggerConfig ? result : result.getReliabilityStrategy().getActiveLoggerConfig(next);
}
return result;
}
private boolean beforeLogEvent() {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.html#L94">94</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.html#L93">93</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> @JsonProperty(JsonConstants.ELT_MESSAGE)
@JsonDeserialize(using = SimpleMessageDeserializer.class)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_MESSAGE)
@Override
public abstract Message getMessage();
@JsonProperty(JsonConstants.ELT_SOURCE)
@JsonDeserialize(using = Log4jStackTraceElementDeserializer.class)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_SOURCE)
@Override
public abstract StackTraceElement getSource();
@Override
@JsonProperty(&quot;threadId&quot;)
@JacksonXmlProperty(isAttribute = true, localName = &quot;threadId&quot;)
public abstract long getThreadId();
@Override
@JsonProperty(&quot;thread&quot;)
@JacksonXmlProperty(isAttribute = true, localName = &quot;thread&quot;)
public abstract String getThreadName();
@Override
@JsonProperty(&quot;threadPriority&quot;)
@JacksonXmlProperty(isAttribute = true, localName = &quot;threadPriority&quot;)
public abstract int getThreadPriority();
@JsonIgnore
@Override
public abstract Throwable getThrown();
@JsonProperty(JsonConstants.ELT_THROWN)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_THROWN)
@Override
public abstract ThrowableProxy getThrownProxy();
@JsonIgnore // ignore from 2.11
// @JsonProperty()
// @JacksonXmlProperty(isAttribute = true)
@Override
public abstract long getTimeMillis();
@JsonProperty(JsonConstants.ELT_INSTANT)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_INSTANT)
@Override
public abstract Instant getInstant();
@JsonProperty()
@JacksonXmlProperty(isAttribute = true)
@Override
public abstract boolean isEndOfBatch();
@JsonIgnore
@Override
public abstract boolean isIncludeLocation();
@Override
public abstract void setEndOfBatch(boolean endOfBatch);
@Override
public abstract void setIncludeLocation(boolean locationRequired);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/AbstractFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/AbstractFileAppender.html#L72">72</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/FileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/FileAppender.html#L107">107</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> public String getAdvertiseUri() {
return advertiseUri;
}
public String getFileName() {
return fileName;
}
public boolean isAdvertise() {
return advertise;
}
public boolean isAppend() {
return append;
}
public boolean isCreateOnDemand() {
return createOnDemand;
}
public boolean isLocking() {
return locking;
}
public String getFilePermissions() {
return filePermissions;
}
public String getFileOwner() {
return fileOwner;
}
public String getFileGroup() {
return fileGroup;
}
public B withAdvertise(final boolean advertise) {
this.advertise = advertise;
return asBuilder();
}
public B withAdvertiseUri(final String advertiseUri) {
this.advertiseUri = advertiseUri;
return asBuilder();
}
public B withAppend(final boolean append) {
this.append = append;
return asBuilder();
}
public B withFileName(final String fileName) {
this.fileName = fileName;
return asBuilder();
}
public B withCreateOnDemand(final boolean createOnDemand) {
this.createOnDemand = createOnDemand;
return asBuilder();
}
public B withLocking(final boolean locking) {
this.locking = locking;
return asBuilder();
}
public B withFilePermissions(final String filePermissions) {
this.filePermissions = filePermissions;
return asBuilder();
}
public B withFileOwner(final String fileOwner) {
this.fileOwner = fileOwner;
return asBuilder();
}
public B withFileGroup(final String fileGroup) {
this.fileGroup = fileGroup;
return asBuilder();
}
}
private final String fileName;</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L1266">1266</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L1302">1302</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> final java.util.Calendar tcal = java.util.Calendar.getInstance(getTimeZone());
tcal.set(Calendar.SECOND, 0);
tcal.set(Calendar.MINUTE, 0);
tcal.set(Calendar.HOUR_OF_DAY, 0);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
tcal.set(Calendar.YEAR, cl.get(Calendar.YEAR));
final int ldom = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
final int dow = tcal.get(Calendar.DAY_OF_WEEK);
if (dow == Calendar.SATURDAY &amp;&amp; day == 1) {
day += 2;
} else if (dow == Calendar.SATURDAY) {
day -= 1;
} else if (dow == Calendar.SUNDAY &amp;&amp; day == ldom) {
day -= 2;
} else if (dow == Calendar.SUNDAY) {
day += 1;
}
tcal.set(Calendar.SECOND, sec);
tcal.set(Calendar.MINUTE, min);
tcal.set(Calendar.HOUR_OF_DAY, hr);
tcal.set(Calendar.DAY_OF_MONTH, day);
tcal.set(Calendar.MONTH, mon - 1);
final Date nTime = tcal.getTime();
if (nTime.before(afterTime)) {
day = 1;</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/FileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/FileAppender.html#L103">103</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/RollingFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RollingFileAppender.html#L156">156</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> !bufferedIo || isImmediateFlush(), advertise ? getConfiguration().getAdvertiser() : null,
getPropertyArray());
}
public String getAdvertiseUri() {
return advertiseUri;
}
public String getFileName() {
return fileName;
}
public boolean isAdvertise() {
return advertise;
}
public boolean isAppend() {
return append;
}
public boolean isCreateOnDemand() {
return createOnDemand;
}
public boolean isLocking() {
return locking;
}
public String getFilePermissions() {
return filePermissions;
}
public String getFileOwner() {
return fileOwner;
}
public String getFileGroup() {
return fileGroup;
}
public B withAdvertise(final boolean advertise) {
this.advertise = advertise;
return asBuilder();
}
public B withAdvertiseUri(final String advertiseUri) {
this.advertiseUri = advertiseUri;
return asBuilder();
}
public B withAppend(final boolean append) {
this.append = append;
return asBuilder();
}
public B withFileName(final String fileName) {
this.fileName = fileName;
return asBuilder();
}
public B withCreateOnDemand(final boolean createOnDemand) {
this.createOnDemand = createOnDemand;
return asBuilder();
}
public B withLocking(final boolean locking) {
this.locking = locking;
return asBuilder();
}
public B withFilePermissions(final String filePermissions) {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.html#L131">131</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html#L116">116</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> final Filter filter, final MemoryMappedFileManager manager, final String filename,
final boolean ignoreExceptions, final boolean immediateFlush, final Advertiser advertiser,
final Property[] properties) {
super(name, layout, filter, ignoreExceptions, immediateFlush, properties, manager);
if (advertiser != null) {
final Map&lt;String, String&gt; configuration = new HashMap&lt;&gt;(layout.getContentFormat());
configuration.putAll(manager.getContentFormat());
configuration.put(&quot;contentType&quot;, layout.getContentType());
configuration.put(&quot;name&quot;, name);
advertisement = advertiser.advertise(configuration);
}
this.fileName = filename;
this.advertiser = advertiser;
}
@Override
public boolean stop(final long timeout, final TimeUnit timeUnit) {
setStopping();
super.stop(timeout, timeUnit, false);
if (advertiser != null) {
advertiser.unadvertise(advertisement);
}
setStopped();
return true;
}
/**
* Write the log entry rolling over the file when required.
*
* @param event The LogEvent.
*/
@Override
public void append(final LogEvent event) {
// Leverage the nice batching behaviour of async Loggers/Appenders:
// we can signal the file manager that it needs to flush the buffer
// to disk at the end of a batch.
// From a user's point of view, this means that all log events are
// _always_ available in the log file, without incurring the overhead
// of immediateFlush=true.
getManager().setEndOfBatch(event.isEndOfBatch()); // FIXME manager's EndOfBatch threadlocal can be deleted
super.append(event); // TODO should only call force() if immediateFlush &amp;&amp; endOfBatch?
}
/**
* Returns the file name this appender is associated with.
*
* @return The File name.
*/
public String getFileName() {
return this.fileName;
}
/**
* Returns the length of the memory mapped region.
*
* @return the length of the memory mapped region
*/
public int getRegionLength() {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/LoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/LoggerConfig.html#L382">382</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/config/LoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/LoggerConfig.html#L431">431</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> public void log(final String loggerName, final String fqcn, final Marker marker, final Level level,
final Message data, final Throwable t) {
List&lt;Property&gt; props = null;
if (!propertiesRequireLookup) {
props = properties;
} else {
if (properties != null) {
props = new ArrayList&lt;&gt;(properties.size());
final LogEvent event = Log4jLogEvent.newBuilder()
.setMessage(data)
.setMarker(marker)
.setLevel(level)
.setLoggerName(loggerName)
.setLoggerFqcn(fqcn)
.setThrown(t)
.build();
for (int i = 0; i &lt; properties.size(); i++) {
final Property prop = properties.get(i);
final String value = prop.isValueNeedsLookup() // since LOG4J2-1575
? config.getStrSubstitutor().replace(event, prop.getValue()) //
: prop.getValue();
props.add(Property.createProperty(prop.getName(), value));
}
}
}
final LogEvent logEvent = logEventFactory instanceof LocationAwareLogEventFactory ?
((LocationAwareLogEventFactory) logEventFactory).createEvent(loggerName, marker, fqcn, requiresLocation() ?</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/AbstractFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/AbstractFileAppender.html#L72">72</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/RollingFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RollingFileAppender.html#L160">160</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> public String getAdvertiseUri() {
return advertiseUri;
}
public String getFileName() {
return fileName;
}
public boolean isAdvertise() {
return advertise;
}
public boolean isAppend() {
return append;
}
public boolean isCreateOnDemand() {
return createOnDemand;
}
public boolean isLocking() {
return locking;
}
public String getFilePermissions() {
return filePermissions;
}
public String getFileOwner() {
return fileOwner;
}
public String getFileGroup() {
return fileGroup;
}
public B withAdvertise(final boolean advertise) {
this.advertise = advertise;
return asBuilder();
}
public B withAdvertiseUri(final String advertiseUri) {
this.advertiseUri = advertiseUri;
return asBuilder();
}
public B withAppend(final boolean append) {
this.append = append;
return asBuilder();
}
public B withFileName(final String fileName) {
this.fileName = fileName;
return asBuilder();
}
public B withCreateOnDemand(final boolean createOnDemand) {
this.createOnDemand = createOnDemand;
return asBuilder();
}
public B withLocking(final boolean locking) {
this.locking = locking;
return asBuilder();
}
public B withFilePermissions(final String filePermissions) {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.html#L45">45</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/config/DefaultReliabilityStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/DefaultReliabilityStrategy.html#L36">36</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> DEFAULT_SLEEP_MILLIS);
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* java.lang.String, java.lang.String, org.apache.logging.log4j.Marker, org.apache.logging.log4j.Level,
* org.apache.logging.log4j.message.Message, java.lang.Throwable)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final String loggerName, final String fqcn, final Marker marker, final Level level,
final Message data, final Throwable t) {
loggerConfig.log(loggerName, fqcn, marker, level, data, t);
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* java.lang.String, java.lang.String, java.lang.StackTraceElement, org.apache.logging.log4j.Marker,
* org.apache.logging.log4j.Level, org.apache.logging.log4j.message.Message, java.lang.Throwable)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final String loggerName, final String fqcn,
final StackTraceElement location, final Marker marker, final Level level, final Message data,
final Throwable t) {
loggerConfig.log(loggerName, fqcn, location, marker, level, data, t);
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#log(org.apache.logging.log4j.util.Supplier,
* org.apache.logging.log4j.core.LogEvent)
*/
@Override
public void log(final Supplier&lt;LoggerConfig&gt; reconfigured, final LogEvent event) {
loggerConfig.log(event);
}
/*
* (non-Javadoc)
*
* @see
* org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeLogEvent(org.apache.logging.log4j.core.config.
* LoggerConfig, org.apache.logging.log4j.util.Supplier)
*/
@Override
public LoggerConfig getActiveLoggerConfig(final Supplier&lt;LoggerConfig&gt; next) {
return this.loggerConfig;
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#afterLogEvent()
*/
@Override
public void afterLogEvent() {
// no action
}
/*
* (non-Javadoc)
*
* @see org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeStopAppenders()
*/
@Override
public void beforeStopAppenders() {
// no action
}
/*
* (non-Javadoc)
*
* @see
* org.apache.logging.log4j.core.config.ReliabilityStrategy#beforeStopConfiguration(org.apache.logging.log4j.core
* .config.Configuration)
*/
@Override
public void beforeStopConfiguration(final Configuration configuration) {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/AbstractFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/AbstractFileAppender.html#L162">162</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/FileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/FileAppender.html#L256">256</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> final M manager, final String filename, final boolean ignoreExceptions,
final boolean immediateFlush, final Advertiser advertiser, final Property[] properties) {
super(name, layout, filter, ignoreExceptions, immediateFlush, properties, manager);
if (advertiser != null) {
final Map&lt;String, String&gt; configuration = new HashMap&lt;&gt;(layout.getContentFormat());
configuration.putAll(manager.getContentFormat());
configuration.put(&quot;contentType&quot;, layout.getContentType());
configuration.put(&quot;name&quot;, name);
advertisement = advertiser.advertise(configuration);
} else {
advertisement = null;
}
this.fileName = filename;
this.advertiser = advertiser;
}
/**
* Returns the file name this appender is associated with.
* @return The File name.
*/
public String getFileName() {
return this.fileName;
}
@Override
public boolean stop(final long timeout, final TimeUnit timeUnit) {
setStopping();
super.stop(timeout, timeUnit, false);
if (advertiser != null) {
advertiser.unadvertise(advertisement);
}
setStopped();
return true;
}
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/layout/MarkerPatternSelector.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/MarkerPatternSelector.html#L214">214</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/layout/ScriptPatternSelector.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/ScriptPatternSelector.html#L241">241</a></td></tr>
<tr class="b"><td colspan='2'>
<div>
<pre> final Builder builder = newBuilder();
builder.setProperties(properties);
builder.setDefaultPattern(defaultPattern);
builder.setAlwaysWriteExceptions(alwaysWriteExceptions);
builder.setNoConsoleNoAnsi(noConsoleNoAnsi);
builder.setConfiguration(configuration);
return builder.build();
}
@Override
public String toString() {
final StringBuilder sb = new StringBuilder();
boolean first = true;
for (final Map.Entry&lt;String, String&gt; entry : patternMap.entrySet()) {
if (!first) {
sb.append(&quot;, &quot;);
}
sb.append(&quot;key=\&quot;&quot;).append(entry.getKey()).append(&quot;\&quot;, pattern=\&quot;&quot;).append(entry.getValue()).append(&quot;\&quot;&quot;);
first = false;
}
if (!first) {
sb.append(&quot;, &quot;);
}
sb.append(&quot;default=\&quot;&quot;).append(defaultPattern).append(&quot;\&quot;&quot;);
return sb.toString();
}
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="a">
<th>File</th>
<th>Line</th></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/MapFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/MapFilter.html#L245">245</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/StructuredDataFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/StructuredDataFilter.html#L165">165</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/ThreadContextMapFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/ThreadContextMapFilter.html#L205">205</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> LOGGER.error(&quot;keys and values must be specified for the MapFilter&quot;);
return null;
}
final Map&lt;String, List&lt;String&gt;&gt; map = new HashMap&lt;&gt;();
for (final KeyValuePair pair : pairs) {
final String key = pair.getKey();
if (key == null) {
LOGGER.error(&quot;A null key is not valid in MapFilter&quot;);
continue;
}
final String value = pair.getValue();
if (value == null) {
LOGGER.error(&quot;A null value for key &quot; + key + &quot; is not allowed in MapFilter&quot;);
continue;
}
List&lt;String&gt; list = map.get(pair.getKey());
if (list != null) {
list.add(value);
} else {
list = new ArrayList&lt;&gt;();
list.add(value);
map.put(pair.getKey(), list);
}
}
if (map.isEmpty()) {
LOGGER.error(&quot;MapFilter is not configured with any valid key value pairs&quot;);</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.html#L194">194</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.html#L115">115</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> return this;
}
public String getCompressionLevelStr() {
return compressionLevelStr;
}
/**
* Defines compression level.
*
* @param compressionLevelStr The compression level, 0 (less) through 9 (more); applies only to ZIP files.
* @return This builder for chaining convenience
*/
public Builder withCompressionLevelStr(final String compressionLevelStr) {
this.compressionLevelStr = compressionLevelStr;
return this;
}
public Action[] getCustomActions() {
return customActions;
}
/**
* Defines custom actions.
*
* @param customActions custom actions to perform asynchronously after rollover
* @return This builder for chaining convenience
*/
public Builder withCustomActions(final Action[] customActions) {
this.customActions = customActions;
return this;
}
public boolean isStopCustomActionsOnError() {
return stopCustomActionsOnError;
}
/**
* Defines whether to stop executing asynchronous actions if an error occurs.
*
* @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
* @return This builder for chaining convenience
*/
public Builder withStopCustomActionsOnError(final boolean stopCustomActionsOnError) {
this.stopCustomActionsOnError = stopCustomActionsOnError;
return this;
}
public String getTempCompressedFilePattern() {
return tempCompressedFilePattern;
}
/**
* Defines temporary compression file pattern.
*
* @param tempCompressedFilePattern File pattern of the working file pattern used during compression, if null no temporary file are used
* @return This builder for chaining convenience
*/
public Builder withTempCompressedFilePattern(final String tempCompressedFilePattern) {
this.tempCompressedFilePattern = tempCompressedFilePattern;
return this;
}
public Configuration getConfig() {
return config;
}
/**
* Defines configuration.
*
* @param config The Configuration.
* @return This builder for chaining convenience
*/
public Builder withConfig(final Configuration config) {
this.config = config;
return this;
}
}
@PluginBuilderFactory
public static Builder newBuilder() {
return new Builder();
}
/**
* Creates the DefaultRolloverStrategy.
*
* @param max The maximum number of files to keep.
* @param min The minimum number of files to keep.
* @param fileIndex If set to &quot;max&quot; (the default), files with a higher index will be newer than files with a smaller
* index. If set to &quot;min&quot;, file renaming and the counter will follow the Fixed Window strategy.
* @param compressionLevelStr The compression level, 0 (less) through 9 (more); applies only to ZIP files.
* @param customActions custom actions to perform asynchronously after rollover
* @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
* @param config The Configuration.
* @return A DefaultRolloverStrategy.
* @deprecated Since 2.9 Usage of Builder API is preferable
*/
@PluginFactory</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/LogEventJsonMixIn.html#L63">63</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/LogEventWithContextListMixIn.html#L61">61</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> @JsonDeserialize(using = ContextDataDeserializer.class)
//@JsonIgnore
@Override
public abstract ReadOnlyStringMap getContextData();
@JsonProperty(JsonConstants.ELT_CONTEXT_STACK)
@JacksonXmlElementWrapper(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_CONTEXT_STACK)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_CONTEXT_STACK_ITEM)
@Override
public abstract ContextStack getContextStack();
@JsonProperty()
@JacksonXmlProperty(isAttribute = true)
@Override
public abstract Level getLevel();
@JsonProperty()
@JacksonXmlProperty(isAttribute = true)
@Override
public abstract String getLoggerFqcn();
@JsonProperty()
@JacksonXmlProperty(isAttribute = true)
@Override
public abstract String getLoggerName();
@JsonProperty(JsonConstants.ELT_MARKER)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_MARKER)
@Override
public abstract Marker getMarker();
@JsonProperty(JsonConstants.ELT_MESSAGE)
@JsonDeserialize(using = SimpleMessageDeserializer.class)</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/jackson/ThrowableProxyMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/ThrowableProxyMixIn.html#L43">43</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/jackson/ThrowableProxyWithoutStacktraceMixIn.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/jackson/ThrowableProxyWithoutStacktraceMixIn.html#L40">40</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> private ExtendedStackTraceElement[] extendedStackTrace;
@JsonProperty
@JacksonXmlProperty(isAttribute = true)
private String localizedMessage;
@JsonProperty
@JacksonXmlProperty(isAttribute = true)
private String message;
@JsonProperty
@JacksonXmlProperty(isAttribute = true)
private String name;
@JsonIgnore
private transient Throwable throwable;
@JsonIgnore
public abstract String getCauseStackTraceAsString();
@JsonIgnore
public abstract String getExtendedStackTraceAsString();
@JsonIgnore
public abstract StackTraceElement[] getStackTrace();
@JsonProperty(JsonConstants.ELT_SUPPRESSED)
@JacksonXmlElementWrapper(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_SUPPRESSED)
@JacksonXmlProperty(namespace = XmlConstants.XML_NAMESPACE, localName = XmlConstants.ELT_SUPPRESSED_ITEM)
public abstract ThrowableProxy[] getSuppressedProxies();
@JsonIgnore
public abstract String getSuppressedStackTrace();
@JsonIgnore
public abstract Throwable getThrowable();
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/layout/CsvLogEventLayout.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/CsvLogEventLayout.html#L53">53</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/layout/CsvParameterLayout.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/CsvParameterLayout.html#L62">62</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> public static CsvLogEventLayout createLayout(
// @formatter:off
@PluginConfiguration final Configuration config,
@PluginAttribute(value = &quot;format&quot;, defaultString = DEFAULT_FORMAT) final String format,
@PluginAttribute(&quot;delimiter&quot;) final Character delimiter,
@PluginAttribute(&quot;escape&quot;) final Character escape,
@PluginAttribute(&quot;quote&quot;) final Character quote,
@PluginAttribute(&quot;quoteMode&quot;) final QuoteMode quoteMode,
@PluginAttribute(&quot;nullString&quot;) final String nullString,
@PluginAttribute(&quot;recordSeparator&quot;) final String recordSeparator,
@PluginAttribute(value = &quot;charset&quot;, defaultString = DEFAULT_CHARSET) final Charset charset,
@PluginAttribute(&quot;header&quot;) final String header,
@PluginAttribute(&quot;footer&quot;) final String footer)
// @formatter:on
{
final CSVFormat csvFormat = createFormat(format, delimiter, escape, quote, quoteMode, nullString, recordSeparator);
return new CsvLogEventLayout(config, charset, csvFormat, header, footer);</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.html#L84">84</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/xml/XmlConfiguration.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/xml/XmlConfiguration.html#L115">115</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> statusConfig.withStatus(value.toUpperCase());
} else if (&quot;dest&quot;.equalsIgnoreCase(key)) {
statusConfig.withDestination(value);
} else if (&quot;shutdownHook&quot;.equalsIgnoreCase(key)) {
isShutdownHookEnabled = !&quot;disable&quot;.equalsIgnoreCase(value);
} else if (&quot;shutdownTimeout&quot;.equalsIgnoreCase(key)) {
shutdownTimeoutMillis = Long.parseLong(value);
} else if (&quot;verbose&quot;.equalsIgnoreCase(key)) {
statusConfig.withVerbosity(value);
} else if (&quot;packages&quot;.equalsIgnoreCase(key)) {
pluginPackages.addAll(Arrays.asList(value.split(Patterns.COMMA_SEPARATOR)));
} else if (&quot;name&quot;.equalsIgnoreCase(key)) {
setName(value);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/filter/MarkerFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/MarkerFilter.html#L45">45</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/filter/NoMarkerFilter.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/filter/NoMarkerFilter.html#L40">40</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> }
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final String msg,
final Object... params) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final Object msg,
final Throwable t) {
return filter(marker);
}
@Override
public Result filter(final Logger logger, final Level level, final Marker marker, final Message msg,
final Throwable t) {
return filter(marker);
}
@Override
public Result filter(final LogEvent event) {
return filter(event.getMarker());
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/message/ExtendedThreadInformation.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/message/ExtendedThreadInformation.html#L115">115</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/message/ExtendedThreadInformation.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/message/ExtendedThreadInformation.html#L138">138</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> case WAITING: {
final StackTraceElement element = info.getStackTrace()[0];
final String className = element.getClassName();
final String method = element.getMethodName();
if (className.equals(&quot;java.lang.Object&quot;) &amp;&amp; method.equals(&quot;wait&quot;)) {
sb.append(&quot; (on object monitor&quot;);
if (info.getLockOwnerName() != null) {
sb.append(&quot; owned by \&quot;&quot;);
sb.append(info.getLockOwnerName()).append(&quot;\&quot; Id=&quot;).append(info.getLockOwnerId());
}
sb.append(')');
} else if (className.equals(&quot;java.lang.Thread&quot;) &amp;&amp; method.equals(&quot;join&quot;)) {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/async/AsyncLoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/async/AsyncLoggerConfig.html#L245">245</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/LoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/LoggerConfig.html#L587">587</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> additive, properties, config, includeLocation(includeLocation));
}
/**
* Factory method to create a LoggerConfig.
*
* @param additivity True if additive, false otherwise.
* @param level The Level to be associated with the Logger.
* @param loggerName The name of the Logger.
* @param includeLocation &quot;true&quot; if location should be passed downstream
* @param refs An array of Appender names.
* @param properties Properties to pass to the Logger.
* @param config The Configuration.
* @param filter A Filter.
* @return A new LoggerConfig.
* @since 3.0
*/
@PluginFactory
public static LoggerConfig createLogger(
@PluginAttribute(value = &quot;additivity&quot;, defaultBoolean = true) final boolean additivity,
@PluginAttribute(&quot;level&quot;) final Level level,
@Required(message = &quot;Loggers cannot be configured without a name&quot;) @PluginAttribute(&quot;name&quot;) final String loggerName,
@PluginAttribute(&quot;includeLocation&quot;) final String includeLocation,
@PluginElement(&quot;AppenderRef&quot;) final AppenderRef[] refs,
@PluginElement(&quot;Properties&quot;) final Property[] properties,
@PluginConfiguration final Configuration config,
@PluginElement(&quot;Filter&quot;) final Filter filter) {
final String name = loggerName.equals(ROOT) ? Strings.EMPTY : loggerName;
return new AsyncLoggerConfig(name, Arrays.asList(refs), filter, level, additivity, properties, config,</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/config/json/JsonConfiguration.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/json/JsonConfiguration.html#L72">72</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/xml/XmlConfiguration.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/xml/XmlConfiguration.html#L111">111</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> for (final Map.Entry&lt;String, String&gt; entry : rootNode.getAttributes().entrySet()) {
final String key = entry.getKey();
final String value = getStrSubstitutor().replace(entry.getValue());
// TODO: this duplicates a lot of the XmlConfiguration constructor
if (&quot;status&quot;.equalsIgnoreCase(key)) {
statusConfig.withStatus(value);
} else if (&quot;dest&quot;.equalsIgnoreCase(key)) {
statusConfig.withDestination(value);
} else if (&quot;shutdownHook&quot;.equalsIgnoreCase(key)) {
isShutdownHookEnabled = !&quot;disable&quot;.equalsIgnoreCase(value);
} else if (&quot;shutdownTimeout&quot;.equalsIgnoreCase(key)) {
shutdownTimeoutMillis = Long.parseLong(value);
} else if (&quot;verbose&quot;.equalsIgnoreCase(entry.getKey())) {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/layout/MarkerPatternSelector.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/MarkerPatternSelector.html#L150">150</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/layout/ScriptPatternSelector.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/layout/ScriptPatternSelector.html#L172">172</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> } catch (final RuntimeException ex) {
throw new IllegalArgumentException(&quot;Cannot parse pattern '&quot; + property.getPattern() + &quot;'&quot;, ex);
}
}
try {
final List&lt;PatternFormatter&gt; list = parser.parse(defaultPattern, alwaysWriteExceptions, disableAnsi,
noConsoleNoAnsi);
defaultFormatters = list.toArray(new PatternFormatter[0]);
this.defaultPattern = defaultPattern;
for (int i = 0; !needsLocation &amp;&amp; i &lt; defaultFormatters.length; ++i) {
needsLocation = defaultFormatters[i].requiresLocation();
}
} catch (final RuntimeException ex) {
throw new IllegalArgumentException(&quot;Cannot parse pattern '&quot; + defaultPattern + &quot;'&quot;, ex);
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/async/AsyncLoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/async/AsyncLoggerConfig.html#L317">317</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/config/LoggerConfig.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/config/LoggerConfig.html#L657">657</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> @PluginFactory
public static LoggerConfig createLogger(
@PluginAttribute(&quot;additivity&quot;) final String additivity,
@PluginAttribute(&quot;level&quot;) final Level level,
@PluginAttribute(&quot;includeLocation&quot;) final String includeLocation,
@PluginElement(&quot;AppenderRef&quot;) final AppenderRef[] refs,
@PluginElement(&quot;Properties&quot;) final Property[] properties,
@PluginConfiguration final Configuration config,
@PluginElement(&quot;Filter&quot;) final Filter filter) {
final List&lt;AppenderRef&gt; appenderRefs = Arrays.asList(refs);
final Level actualLevel = level == null ? Level.ERROR : level;
final boolean additive = Booleans.parseBoolean(additivity, true);
return new AsyncLoggerConfig(LogManager.ROOT_LOGGER_NAME, appenderRefs, filter, actualLevel, additive,</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L1364">1364</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L1455">1455</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> int daysToAdd = 0;
if (cDow &lt; dow) {
daysToAdd = dow - cDow;
}
if (cDow &gt; dow) {
daysToAdd = dow + (7 - cDow);
}
final int lDay = getLastDayOfMonth(mon, cl.get(Calendar.YEAR));
if (day + daysToAdd &gt; lDay) { // did we already miss the
// last one?
cl.set(Calendar.SECOND, 0);
cl.set(Calendar.MINUTE, 0);
cl.set(Calendar.HOUR_OF_DAY, 0);
cl.set(Calendar.DAY_OF_MONTH, 1);
cl.set(Calendar.MONTH, mon);
// no '- 1' here because we are promoting the month
continue;
}</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L773">773</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/util/CronExpression.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/util/CronExpression.html#L799">799</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> if (i &lt; s.length() &amp;&amp; ((c = s.charAt(i)) == '/')) {
i++;
c = s.charAt(i);
final int v2 = Integer.parseInt(String.valueOf(c));
i++;
if (i &gt;= s.length()) {
addToSet(val, end, v2, type);
return i;
}
c = s.charAt(i);
if (c &gt;= '0' &amp;&amp; c &lt;= '9') {
final ValueSet vs = getValue(v2, s, i);
final int v3 = vs.value;
addToSet(val, end, v3, type);
i = vs.pos;
return i;
} else {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/AbstractFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/AbstractFileAppender.html#L162">162</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/FileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/FileAppender.html#L256">256</a></td></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/MemoryMappedFileAppender.html#L131">131</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/RandomAccessFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RandomAccessFileAppender.html#L116">116</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> final M manager, final String filename, final boolean ignoreExceptions,
final boolean immediateFlush, final Advertiser advertiser, final Property[] properties) {
super(name, layout, filter, ignoreExceptions, immediateFlush, properties, manager);
if (advertiser != null) {
final Map&lt;String, String&gt; configuration = new HashMap&lt;&gt;(layout.getContentFormat());
configuration.putAll(manager.getContentFormat());
configuration.put(&quot;contentType&quot;, layout.getContentType());
configuration.put(&quot;name&quot;, name);
advertisement = advertiser.advertise(configuration);
} else {</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.html#L575">575</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.html#L378">378</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> }
if (compressAction != null &amp;&amp; manager.isAttributeViewEnabled()) {
// Propagate posix attribute view to compressed file
// @formatter:off
final Action posixAttributeViewAction = PosixViewAttributeAction.newBuilder()
.withBasePath(compressedName)
.withFollowLinks(false)
.withMaxDepth(1)
.withPathConditions(new PathCondition[0])
.withSubst(getStrSubstitutor())
.withFilePermissions(manager.getFilePermissions())
.withFileOwner(manager.getFileOwner())
.withFileGroup(manager.getFileGroup())
.build();
// @formatter:on
compressAction = new CompositeAction(Arrays.asList(compressAction, posixAttributeViewAction), false);
}
final FileRenameAction renameAction = new FileRenameAction(new File(currentFileName), new File(renameTo),</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/appender/RollingFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RollingFileAppender.html#L124">124</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/appender/RollingRandomAccessFileAppender.html#L97">97</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> LOGGER.error(&quot;RollingFileAppender '{}': No TriggeringPolicy provided.&quot;, getName());
return null;
}
if (strategy == null) {
if (fileName != null) {
strategy = DefaultRolloverStrategy.newBuilder()
.withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
.withConfig(getConfiguration())
.build();
} else {
strategy = DirectWriteRolloverStrategy.newBuilder()
.withCompressionLevelStr(String.valueOf(Deflater.DEFAULT_COMPRESSION))
.withConfig(getConfiguration())
.build();
}
} else if (fileName == null &amp;&amp; !(strategy instanceof DirectFileRolloverStrategy)) {
LOGGER.error(&quot;RollingFileAppender '{}': When no file name is provided a DirectFilenameRolloverStrategy must be configured&quot;);</pre></div></td></tr></table>
<table border="0" class="bodyTable">
<tr class="b">
<th>File</th>
<th>Line</th></tr>
<tr class="a">
<td>org/apache/logging/log4j/core/message/ExtendedThreadInformation.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/message/ExtendedThreadInformation.html#L125">125</a></td></tr>
<tr class="b">
<td>org/apache/logging/log4j/core/message/ExtendedThreadInformation.java</td>
<td><a href="./xref/org/apache/logging/log4j/core/message/ExtendedThreadInformation.html#L150">150</a></td></tr>
<tr class="a"><td colspan='2'>
<div>
<pre> sb.append(')');
} else if (className.equals(&quot;java.lang.Thread&quot;) &amp;&amp; method.equals(&quot;join&quot;)) {
sb.append(&quot; (on completion of thread &quot;).append(info.getLockOwnerId()).append(')');
} else {
sb.append(&quot; (parking for lock&quot;);
if (info.getLockOwnerName() != null) {
sb.append(&quot; owned by \&quot;&quot;);
sb.append(info.getLockOwnerName()).append(&quot;\&quot; Id=&quot;).append(info.getLockOwnerId());
}
sb.append(')');
}
break;
}</pre></div></td></tr></table></div>
</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>