| <!DOCTYPE html> |
| <!-- |
| | Generated by Apache Maven Doxia Site Renderer 1.9.1 from org.apache.maven.plugins:maven-pmd-plugin:3.10.0:cpd at 2019-12-11 |
| | Rendered using Apache Maven Fluido Skin 1.8 |
| --> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> |
| <head> |
| <meta charset="UTF-8" /> |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.1" /> |
| <title>Log4j Core – CPD Results</title> |
| <link rel="stylesheet" href="./css/apache-maven-fluido-1.8.min.css" /> |
| <link rel="stylesheet" href="./css/site.css" /> |
| <link rel="stylesheet" href="./css/print.css" media="print" /> |
| <script src="./js/apache-maven-fluido-1.8.min.js"></script> |
| </head> |
| <body class="topBarDisabled"> |
| <div class="container-fluid"> |
| <header> |
| <div id="banner"> |
| <div class="pull-left"><a href="http://logging.apache.org" id="bannerLeft"><img src="../images/ls-logo.jpg" alt=""/></a></div> |
| <div class="pull-right"><a href="http://logging.apache.org/log4j/2.x" id="bannerRight"><img src="../images/logo.png" alt=""/></a></div> |
| <div class="clear"><hr/></div> |
| </div> |
| |
| <div id="breadcrumbs"> |
| <ul class="breadcrumb"> |
| <li id="publishDate">Last Published: 2019-12-11<span class="divider">|</span> |
| </li> |
| <li id="projectVersion">Version: 2.13.0</li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="../index.html" title="Log4j">Log4j</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="http://logging.apache.org/" class="externalLink" title="Logging Services">Logging Services</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="http://www.apache.org/" class="externalLink" title="Apache">Apache</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="https://github.com/apache/logging-log4j2" class="externalLink" title="GitHub">GitHub</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j" class="externalLink" title="Sonar">Sonar</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="../../../" title="Logging Services">Logging Services</a></li> |
| <li class="pull-right"><span class="divider">|</span> |
| <a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a></li> |
| <li class="pull-right"><a href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j" class="externalLink" title="Logging Wiki">Logging Wiki</a></li> |
| </ul> |
| </div> |
| </header> |
| <div class="row-fluid"> |
| <header id="leftColumn" class="span2"> |
| <nav class="well sidebar-nav"> |
| <ul class="nav nav-list"> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/home.png" alt="Apache Log4j™ 2" border="0"/> Apache Log4j™ 2</li> |
| <li><a href="../index.html" title="About"><span class="none"></span>About</a></li> |
| <li><a href="../download.html" title="Download"><span class="none"></span>Download</a></li> |
| <li><a href="../javadoc.html" title="Javadoc"><span class="icon-chevron-right"></span>Javadoc</a></li> |
| <li><a href="../maven-artifacts.html" title="Maven, Ivy, Gradle Artifacts"><span class="icon-chevron-right"></span>Maven, Ivy, Gradle Artifacts</a></li> |
| <li><a href="../runtime-dependencies.html" title="Runtime Dependencies"><span class="none"></span>Runtime Dependencies</a></li> |
| <li><a href="../changelog.html" title="Changelog"><span class="none"></span>Changelog</a></li> |
| <li><a href="../faq.html" title="FAQ"><span class="none"></span>FAQ</a></li> |
| <li><a href="../performance.html" title="Performance"><span class="icon-chevron-right"></span>Performance</a></li> |
| <li><a href="../articles.html" title="Articles and Tutorials"><span class="none"></span>Articles and Tutorials</a></li> |
| <li><a href="../thanks.html" title="Thanks"><span class="none"></span>Thanks</a></li> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/pencil.png" alt="For Contributors" border="0"/> For Contributors</li> |
| <li><a href="../build.html" title="Building Log4j from Source"><span class="none"></span>Building Log4j from Source</a></li> |
| <li><a href="../guidelines.html" title="Guidelines"><span class="none"></span>Guidelines</a></li> |
| <li><a href="../javastyle.html" title="Style Guide"><span class="none"></span>Style Guide</a></li> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/book.png" alt="Manual" border="0"/> Manual</li> |
| <li><a href="../manual/index.html" title="Introduction"><span class="none"></span>Introduction</a></li> |
| <li><a href="../manual/architecture.html" title="Architecture"><span class="none"></span>Architecture</a></li> |
| <li><a href="../manual/compatibility.html" title="Log4j 1.x Compatibility"><span class="none"></span>Log4j 1.x Compatibility</a></li> |
| <li><a href="../manual/migration.html" title="Log4j 1.x Migration"><span class="none"></span>Log4j 1.x Migration</a></li> |
| <li><a href="../manual/api.html" title="Java API"><span class="icon-chevron-right"></span>Java API</a></li> |
| <li><a href="../manual/scala-api.html" title="Scala API"><span class="none"></span>Scala API</a></li> |
| <li><a href="../manual/configuration.html" title="Configuration"><span class="icon-chevron-right"></span>Configuration</a></li> |
| <li><a href="../manual/usage.html" title="Usage"><span class="icon-chevron-right"></span>Usage</a></li> |
| <li><a href="../manual/webapp.html" title="Web Applications and JSPs"><span class="icon-chevron-right"></span>Web Applications and JSPs</a></li> |
| <li><a href="../manual/lookups.html" title="Lookups"><span class="icon-chevron-right"></span>Lookups</a></li> |
| <li><a href="../manual/appenders.html" title="Appenders"><span class="icon-chevron-right"></span>Appenders</a></li> |
| <li><a href="../manual/layouts.html" title="Layouts"><span class="icon-chevron-right"></span>Layouts</a></li> |
| <li><a href="../manual/filters.html" title="Filters"><span class="icon-chevron-right"></span>Filters</a></li> |
| <li><a href="../manual/async.html" title="Async Loggers"><span class="icon-chevron-right"></span>Async Loggers</a></li> |
| <li><a href="../manual/garbagefree.html" title="Garbage-free Logging"><span class="icon-chevron-right"></span>Garbage-free Logging</a></li> |
| <li><a href="../manual/jmx.html" title="JMX"><span class="none"></span>JMX</a></li> |
| <li><a href="../manual/logsep.html" title="Logging Separation"><span class="none"></span>Logging Separation</a></li> |
| <li><a href="../manual/extending.html" title="Extending Log4j"><span class="icon-chevron-right"></span>Extending Log4j</a></li> |
| <li><a href="../manual/plugins.html" title="Plugins"><span class="icon-chevron-right"></span>Plugins</a></li> |
| <li><a href="../manual/customconfig.html" title="Programmatic Log4j Configuration"><span class="icon-chevron-right"></span>Programmatic Log4j Configuration</a></li> |
| <li><a href="../manual/customloglevels.html" title="Custom Log Levels"><span class="icon-chevron-right"></span>Custom Log Levels</a></li> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/tag.png" alt="Related Projects" border="0"/> Related Projects</li> |
| <li><a href="http://logging.apache.org/log4j/scala/index.html" class="externalLink" title="Log4j-Scala"><span class="none"></span>Log4j-Scala</a></li> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/link.png" alt="Legacy Sites" border="0"/> Legacy Sites</li> |
| <li><a href="http://logging.apache.org/log4j/1.2/" class="externalLink" title="Log4j 1.2 - End of Life"><span class="none"></span>Log4j 1.2 - End of Life</a></li> |
| <li><a href="http://logging.apache.org/log4j/log4j-2.3/" class="externalLink" title="Log4j 2.3 - Java 6"><span class="none"></span>Log4j 2.3 - Java 6</a></li> |
| <li><a href="http://logging.apache.org/log4j/log4j-2.12.1" class="externalLink" title="Log4j 2.12.1 - Java 7"><span class="none"></span>Log4j 2.12.1 - Java 7</a></li> |
| <li class="nav-header"><img class="imageLink" src="img/glyphicons/cog.png" alt="Components" border="0"/> Components</li> |
| <li><a href="../log4j-api/index.html" title="API"><span class="none"></span>API</a></li> |
| <li><a href="../log4j-core/index.html" title="Implementation"><span class="none"></span>Implementation</a></li> |
| <li><a href="../log4j-jcl/index.html" title="Commons Logging Bridge"><span class="none"></span>Commons Logging Bridge</a></li> |
| <li><a href="../log4j-1.2-api/index.html" title="Log4j 1.2 API"><span class="none"></span>Log4j 1.2 API</a></li> |
| <li><a href="../log4j-slf4j-impl/index.html" title="SLF4J Binding"><span class="none"></span>SLF4J Binding</a></li> |
| <li><a href="../log4j-jul/index.html" title="JUL Adapter"><span class="none"></span>JUL Adapter</a></li> |
| <li><a href="../log4j-to-slf4j/index.html" title="Log4j 2 to SLF4J Adapter"><span class="none"></span>Log4j 2 to SLF4J Adapter</a></li> |
| <li><a href="../log4j-flume-ng/index.html" title="Apache Flume Appender"><span class="none"></span>Apache Flume Appender</a></li> |
| <li><a href="../log4j-taglib/index.html" title="Log4j Tag Library"><span class="none"></span>Log4j Tag Library</a></li> |
| <li><a href="../log4j-jmx-gui/index.html" title="Log4j JMX GUI"><span class="none"></span>Log4j JMX GUI</a></li> |
| <li><a href="../log4j-web/index.html" title="Log4j Web Application Support"><span class="none"></span>Log4j Web Application Support</a></li> |
| <li><a href="../log4j-appserver/index.html" title="Log4j Application Server Integration"><span class="none"></span>Log4j Application Server Integration</a></li> |
| <li><a href="../log4j-couchdb/index.html" title="Log4j CouchDB appender"><span class="none"></span>Log4j CouchDB appender</a></li> |
| <li><a href="../log4j-mongodb2/index.html" title="Log4j MongoDB2 appender"><span class="none"></span>Log4j MongoDB2 appender</a></li> |
| <li><a href="../log4j-mongodb3/index.html" title="Log4j MongoDB3 appender"><span class="none"></span>Log4j MongoDB3 appender</a></li> |
| <li><a href="../log4j-cassandra/index.html" title="Log4j Cassandra appender"><span class="none"></span>Log4j Cassandra appender</a></li> |
| <li><a href="../log4j-iostreams/index.html" title="Log4j IO Streams"><span class="none"></span>Log4j IO Streams</a></li> |
| <li><a href="../log4j-liquibase/index.html" title="Log4j Liquibase Binding"><span class="none"></span>Log4j Liquibase Binding</a></li> |
| <li><a href="../log4j-docker/index.html" title="Log4j Docker Support"><span class="none"></span>Log4j Docker Support</a></li> |
| <li><a href="../log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html" title="Log4j Spring Cloud Config Client"><span class="none"></span>Log4j Spring Cloud Config Client</a></li> |
| <li class="nav-header">Project Documentation</li> |
| <li><a href="project-info.html" title="Project Information"><span class="icon-chevron-right"></span>Project Information</a></li> |
| <li><a href="project-reports.html" title="Project Reports"><span class="icon-chevron-down"></span>Project Reports</a> |
| <ul class="nav nav-list"> |
| <li><a href="jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li> |
| <li><a href="rat-report.html" title="Rat Report"><span class="none"></span>Rat Report</a></li> |
| <li><a href="revapi-report.html" title="API Change Analysis"><span class="none"></span>API Change Analysis</a></li> |
| <li><a href="checkstyle.html" title="Checkstyle"><span class="none"></span>Checkstyle</a></li> |
| <li><a href="apidocs/index.html" title="Javadoc"><span class="none"></span>Javadoc</a></li> |
| <li><a href="findbugs.html" title="FindBugs"><span class="none"></span>FindBugs</a></li> |
| <li><a href="xref/index.html" title="Source Xref"><span class="none"></span>Source Xref</a></li> |
| <li class="active"><a href="#"><span class="none"></span>CPD</a></li> |
| <li><a href="pmd.html" title="PMD"><span class="none"></span>PMD</a></li> |
| </ul></li> |
| <li class="nav-header"><img class="imageLink" src="icon-info-sign" alt="Log4j Project Information" border="0"/> Log4j Project Information</li> |
| <li><a href="../dependencies.html" title="Dependencies"><span class="none"></span>Dependencies</a></li> |
| <li><a href="../dependency-convergence.html" title="Dependency Convergence"><span class="none"></span>Dependency Convergence</a></li> |
| <li><a href="../dependency-management.html" title="Dependency Management"><span class="none"></span>Dependency Management</a></li> |
| <li><a href="../team-list.html" title="Project Team"><span class="none"></span>Project Team</a></li> |
| <li><a href="../mail-lists.html" title="Mailing Lists"><span class="none"></span>Mailing Lists</a></li> |
| <li><a href="../issue-tracking.html" title="Issue Tracking"><span class="none"></span>Issue Tracking</a></li> |
| <li><a href="../license.html" title="Project License"><span class="none"></span>Project License</a></li> |
| <li><a href="../source-repository.html" title="Source Repository"><span class="none"></span>Source Repository</a></li> |
| <li><a href="../project-summary.html" title="Project Summary"><span class="none"></span>Project Summary</a></li> |
| <li class="nav-header"><img class="imageLink" src="icon-cog" alt="Log4j Project Reports" border="0"/> Log4j Project Reports</li> |
| <li><a href="../changes-report.html" title="Changes Report"><span class="none"></span>Changes Report</a></li> |
| <li><a href="../jira-report.html" title="JIRA Report"><span class="none"></span>JIRA Report</a></li> |
| <li><a href="../surefire-report.html" title="Surefire Report"><span class="none"></span>Surefire Report</a></li> |
| <li><a href="../rat-report.html" title="RAT Report"><span class="none"></span>RAT Report</a></li> |
| </ul> |
| </nav> |
| <div class="well sidebar-nav"> |
| <hr /> |
| <div id="poweredBy"> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <div class="clear"></div> |
| <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a> |
| </div> |
| </div> |
| </header> |
| <main id="bodyColumn" class="span10" > |
| <section> |
| <h2><a name="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></section><section> |
| <h2><a name="Duplications"></a>Duplications</h2> |
| <table border="0" class="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/filter/LevelMatchFilter.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/filter/LevelMatchFilter.html#L73">73</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#L74">74</a></td></tr> |
| <tr class="b"><td colspan='2'> |
| <div> |
| <pre> return level == this.level ? onMatch : onMismatch; |
| } |
| |
| @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="table table-striped"> |
| <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="table table-striped"> |
| <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="table table-striped"> |
| <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/LevelMatchFilter.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/filter/LevelMatchFilter.html#L74">74</a></td></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); |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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="table table-striped"> |
| <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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/layout/LevelPatternSelector.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/layout/LevelPatternSelector.html#L135">135</a></td></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#L134">134</a></td></tr> |
| <tr class="b"><td colspan='2'> |
| <div> |
| <pre> private LevelPatternSelector(final PatternMatch[] properties, final String defaultPattern, |
| final boolean alwaysWriteExceptions, final boolean disableAnsi, |
| final boolean noConsoleNoAnsi, final Configuration config) { |
| boolean needsLocation = false; |
| final PatternParser parser = PatternLayout.createPatternParser(config); |
| for (final PatternMatch property : properties) { |
| try { |
| final List<PatternFormatter> list = parser.parse(property.getPattern(), alwaysWriteExceptions, |
| disableAnsi, noConsoleNoAnsi); |
| PatternFormatter[] formatters = list.toArray(new PatternFormatter[0]); |
| formatterMap.put(property.getKey(), formatters); |
| for (int i = 0; !needsLocation && i < formatters.length; ++i) { |
| needsLocation = formatters[i].requiresLocation(); |
| } |
| |
| patternMap.put(property.getKey(), property.getPattern()); |
| } catch (final RuntimeException ex) { |
| throw new IllegalArgumentException("Cannot parse pattern '" + property.getPattern() + "'", ex); |
| } |
| } |
| try { |
| final List<PatternFormatter> list = parser.parse(defaultPattern, alwaysWriteExceptions, disableAnsi, |
| noConsoleNoAnsi); |
| defaultFormatters = list.toArray(new PatternFormatter[0]); |
| this.defaultPattern = defaultPattern; |
| for (int i = 0; !needsLocation && i < defaultFormatters.length; ++i) { |
| needsLocation = defaultFormatters[i].requiresLocation(); |
| } |
| } catch (final RuntimeException ex) { |
| throw new IllegalArgumentException("Cannot parse pattern '" + defaultPattern + "'", ex); |
| } |
| requiresLocation = needsLocation; |
| } |
| |
| @Override |
| public boolean requiresLocation() { |
| return requiresLocation; |
| } |
| |
| @Override |
| public PatternFormatter[] getFormatters(final LogEvent event) { |
| final Level level = event.getLevel();</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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<String, String> getContentFormat() { |
| final Map<String, String> result = new HashMap<>(); |
| result.put("version", "2.0"); |
| return result; |
| } |
| |
| /** |
| * @return The content type. |
| */ |
| @Override |
| public String getContentType() { |
| return CONTENT_TYPE + "; charset=" + this.getCharset(); |
| } |
| |
| /** |
| * Creates a JSON Layout. |
| * @param config |
| * The plugin configuration. |
| * @param locationInfo |
| * If "true", includes the location information in the generated JSON. |
| * @param properties |
| * If "true", 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 "key" attribute (whose value is the key) and a "value" 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 "true", includes the JSON header and footer, and comma between records. |
| * @param compact |
| * If "true", does not use end-of-lines and indentation, defaults to "false". |
| * @param eventEol |
| * If "true", forces an EOL after each log event (even if compact is "true"), defaults to "false". This |
| * allows one even per line, even in compact mode. |
| * @param headerPattern |
| * The header pattern, defaults to {@code "["} if null. |
| * @param footerPattern |
| * The header pattern, defaults to {@code "]"} if null. |
| * @param charset |
| * The character set to use, if {@code null}, uses "UTF-8". |
| * @param includeStacktrace |
| * If "true", includes the stacktrace of any Throwable in the generated JSON, defaults to "true". |
| * @return A JSON Layout. |
| * |
| * @deprecated Use {@link #newBuilder()} instead |
| */ |
| @Deprecated |
| public static JsonLayout createLayout(</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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, "loggerConfig is null"); |
| } |
| |
| /* |
| * (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<LoggerConfig> 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<LoggerConfig> 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<LoggerConfig> 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<LoggerConfig> 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="table table-striped"> |
| <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("threadId") |
| @JacksonXmlProperty(isAttribute = true, localName = "threadId") |
| public abstract long getThreadId(); |
| |
| @Override |
| @JsonProperty("thread") |
| @JacksonXmlProperty(isAttribute = true, localName = "thread") |
| public abstract String getThreadName(); |
| |
| @Override |
| @JsonProperty("threadPriority") |
| @JacksonXmlProperty(isAttribute = true, localName = "threadPriority") |
| 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="table table-striped"> |
| <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="table table-striped"> |
| <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 && day == 1) { |
| day += 2; |
| } else if (dow == Calendar.SATURDAY) { |
| day -= 1; |
| } else if (dow == Calendar.SUNDAY && 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="table table-striped"> |
| <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="table table-striped"> |
| <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<String, String> configuration = new HashMap<>(layout.getContentFormat()); |
| configuration.putAll(manager.getContentFormat()); |
| configuration.put("contentType", layout.getContentType()); |
| configuration.put("name", 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 && 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="table table-striped"> |
| <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<Property> props = null; |
| if (!propertiesRequireLookup) { |
| props = properties; |
| } else { |
| if (properties != null) { |
| props = new ArrayList<>(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 < 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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/layout/LevelPatternSelector.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/layout/LevelPatternSelector.html#L209">209</a></td></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#L208">208</a></td></tr> |
| <tr class="b"><td colspan='2'> |
| <div> |
| <pre> public static LevelPatternSelector createSelector( |
| final PatternMatch[] properties, |
| final String defaultPattern, |
| final boolean alwaysWriteExceptions, |
| final boolean noConsoleNoAnsi, |
| final Configuration configuration) { |
| 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<String, String> entry : patternMap.entrySet()) { |
| if (!first) { |
| sb.append(", "); |
| } |
| sb.append("key=\"").append(entry.getKey()).append("\", pattern=\"").append(entry.getValue()).append("\""); |
| first = false; |
| } |
| if (!first) { |
| sb.append(", "); |
| } |
| sb.append("default=\"").append(defaultPattern).append("\""); |
| return sb.toString(); |
| } |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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="table table-striped"> |
| <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<LoggerConfig> 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<LoggerConfig> 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<LoggerConfig> 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<LoggerConfig> 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="table table-striped"> |
| <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<String, String> configuration = new HashMap<>(layout.getContentFormat()); |
| configuration.putAll(manager.getContentFormat()); |
| configuration.put("contentType", layout.getContentType()); |
| configuration.put("name", 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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/layout/LevelPatternSelector.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/layout/LevelPatternSelector.html#L77">77</a></td></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#L76">76</a></td></tr> |
| <tr class="b"><td colspan='2'> |
| <div> |
| <pre> return new LevelPatternSelector(properties, defaultPattern, alwaysWriteExceptions, disableAnsi, |
| noConsoleNoAnsi, configuration); |
| } |
| |
| public Builder setProperties(final PatternMatch[] properties) { |
| this.properties = properties; |
| return this; |
| } |
| |
| public Builder setDefaultPattern(final String defaultPattern) { |
| this.defaultPattern = defaultPattern; |
| return this; |
| } |
| |
| public Builder setAlwaysWriteExceptions(final boolean alwaysWriteExceptions) { |
| this.alwaysWriteExceptions = alwaysWriteExceptions; |
| return this; |
| } |
| |
| public Builder setDisableAnsi(final boolean disableAnsi) { |
| this.disableAnsi = disableAnsi; |
| return this; |
| } |
| |
| public Builder setNoConsoleNoAnsi(final boolean noConsoleNoAnsi) { |
| this.noConsoleNoAnsi = noConsoleNoAnsi; |
| return this; |
| } |
| |
| public Builder setConfiguration(final Configuration configuration) { |
| this.configuration = configuration; |
| return this; |
| } |
| |
| } |
| |
| private final Map<String, PatternFormatter[]> formatterMap = new HashMap<>(); |
| |
| private final Map<String, String> patternMap = new HashMap<>(); |
| |
| private final PatternFormatter[] defaultFormatters; |
| |
| private final String defaultPattern; |
| |
| private static Logger LOGGER = StatusLogger.getLogger(); |
| |
| private final boolean requiresLocation; |
| |
| /** |
| * @deprecated Use {@link #newBuilder()} instead. This will be private in a future version. |
| */ |
| @Deprecated |
| public LevelPatternSelector(final PatternMatch[] properties, final String defaultPattern,</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/layout/LevelPatternSelector.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/layout/LevelPatternSelector.html#L215">215</a></td></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#L214">214</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#L241">241</a></td></tr> |
| <tr class="a"><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<String, String> entry : patternMap.entrySet()) { |
| if (!first) { |
| sb.append(", "); |
| } |
| sb.append("key=\"").append(entry.getKey()).append("\", pattern=\"").append(entry.getValue()).append("\""); |
| first = false; |
| } |
| if (!first) { |
| sb.append(", "); |
| } |
| sb.append("default=\"").append(defaultPattern).append("\""); |
| return sb.toString(); |
| } |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <tr class="b"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="a"> |
| <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="b"> |
| <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="a"> |
| <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="b"><td colspan='2'> |
| <div> |
| <pre> LOGGER.error("keys and values must be specified for the MapFilter"); |
| return null; |
| } |
| final Map<String, List<String>> map = new HashMap<>(); |
| for (final KeyValuePair pair : pairs) { |
| final String key = pair.getKey(); |
| if (key == null) { |
| LOGGER.error("A null key is not valid in MapFilter"); |
| continue; |
| } |
| final String value = pair.getValue(); |
| if (value == null) { |
| LOGGER.error("A null value for key " + key + " is not allowed in MapFilter"); |
| continue; |
| } |
| List<String> list = map.get(pair.getKey()); |
| if (list != null) { |
| list.add(value); |
| } else { |
| list = new ArrayList<>(); |
| list.add(value); |
| map.put(pair.getKey(), list); |
| } |
| } |
| if (map.isEmpty()) { |
| LOGGER.error("MapFilter is not configured with any valid key value pairs");</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><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 "max" (the default), files with a higher index will be newer than files with a smaller |
| * index. If set to "min", 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="table table-striped"> |
| <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#L63">63</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#L61">61</a></td></tr> |
| <tr class="b"><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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><td colspan='2'> |
| <div> |
| <pre> public static CsvLogEventLayout createLayout( |
| // @formatter:off |
| @PluginConfiguration final Configuration config, |
| @PluginAttribute(value = "format", defaultString = DEFAULT_FORMAT) final String format, |
| @PluginAttribute("delimiter") final Character delimiter, |
| @PluginAttribute("escape") final Character escape, |
| @PluginAttribute("quote") final Character quote, |
| @PluginAttribute("quoteMode") final QuoteMode quoteMode, |
| @PluginAttribute("nullString") final String nullString, |
| @PluginAttribute("recordSeparator") final String recordSeparator, |
| @PluginAttribute(value = "charset", defaultString = DEFAULT_CHARSET) final Charset charset, |
| @PluginAttribute("header") final String header, |
| @PluginAttribute("footer") 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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><td colspan='2'> |
| <div> |
| <pre> statusConfig.withStatus(value.toUpperCase()); |
| } else if ("dest".equalsIgnoreCase(key)) { |
| statusConfig.withDestination(value); |
| } else if ("shutdownHook".equalsIgnoreCase(key)) { |
| isShutdownHookEnabled = !"disable".equalsIgnoreCase(value); |
| } else if ("shutdownTimeout".equalsIgnoreCase(key)) { |
| shutdownTimeoutMillis = Long.parseLong(value); |
| } else if ("verbose".equalsIgnoreCase(key)) { |
| statusConfig.withVerbosity(value); |
| } else if ("packages".equalsIgnoreCase(key)) { |
| pluginPackages.addAll(Arrays.asList(value.split(Patterns.COMMA_SEPARATOR))); |
| } else if ("name".equalsIgnoreCase(key)) { |
| setName(value); |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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#L93">93</a></td></tr> |
| <tr class="a"> |
| <td>org/apache/logging/log4j/core/filter/LevelMatchFilter.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/filter/LevelMatchFilter.html#L47">47</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... params) { |
| return filter(level); |
| } |
| |
| @Override |
| public Result filter(final Logger logger, final Level level, final Marker marker, final Object msg, |
| final Throwable t) { |
| return filter(level); |
| } |
| |
| @Override |
| public Result filter(final Logger logger, final Level level, final Marker marker, final Message msg, |
| final Throwable t) { |
| return filter(level); |
| } |
| |
| @Override |
| public Result filter(final LogEvent event) { |
| return filter(event.getLevel()); |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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#L45">45</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#L40">40</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... 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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></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#L115">115</a></td></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#L138">138</a></td></tr> |
| <tr class="b"><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("java.lang.Object") && method.equals("wait")) { |
| sb.append(" (on object monitor"); |
| if (info.getLockOwnerName() != null) { |
| sb.append(" owned by \""); |
| sb.append(info.getLockOwnerName()).append("\" Id=").append(info.getLockOwnerId()); |
| } |
| sb.append(')'); |
| } else if (className.equals("java.lang.Thread") && method.equals("join")) {</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><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 "true" 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 = "additivity", defaultBoolean = true) final boolean additivity, |
| @PluginAttribute("level") final Level level, |
| @Required(message = "Loggers cannot be configured without a name") @PluginAttribute("name") final String loggerName, |
| @PluginAttribute("includeLocation") final String includeLocation, |
| @PluginElement("AppenderRef") final AppenderRef[] refs, |
| @PluginElement("Properties") final Property[] properties, |
| @PluginConfiguration final Configuration config, |
| @PluginElement("Filter") 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="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <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="a"> |
| <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="b"><td colspan='2'> |
| <div> |
| <pre> for (final Map.Entry<String, String> 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 ("status".equalsIgnoreCase(key)) { |
| statusConfig.withStatus(value); |
| } else if ("dest".equalsIgnoreCase(key)) { |
| statusConfig.withDestination(value); |
| } else if ("shutdownHook".equalsIgnoreCase(key)) { |
| isShutdownHookEnabled = !"disable".equalsIgnoreCase(value); |
| } else if ("shutdownTimeout".equalsIgnoreCase(key)) { |
| shutdownTimeoutMillis = Long.parseLong(value); |
| } else if ("verbose".equalsIgnoreCase(entry.getKey())) {</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <tr class="a"> |
| <th>File</th> |
| <th>Line</th></tr> |
| <tr class="b"> |
| <td>org/apache/logging/log4j/core/layout/LevelPatternSelector.java</td> |
| <td><a href="./xref/org/apache/logging/log4j/core/layout/LevelPatternSelector.html#L151">151</a></td></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("Cannot parse pattern '" + property.getPattern() + "'", ex); |
| } |
| } |
| try { |
| final List<PatternFormatter> list = parser.parse(defaultPattern, alwaysWriteExceptions, disableAnsi, |
| noConsoleNoAnsi); |
| defaultFormatters = list.toArray(new PatternFormatter[0]); |
| this.defaultPattern = defaultPattern; |
| for (int i = 0; !needsLocation && i < defaultFormatters.length; ++i) { |
| needsLocation = defaultFormatters[i].requiresLocation(); |
| } |
| } catch (final RuntimeException ex) { |
| throw new IllegalArgumentException("Cannot parse pattern '" + defaultPattern + "'", ex); |
| }</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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("additivity") final String additivity, |
| @PluginAttribute("level") final Level level, |
| @PluginAttribute("includeLocation") final String includeLocation, |
| @PluginElement("AppenderRef") final AppenderRef[] refs, |
| @PluginElement("Properties") final Property[] properties, |
| @PluginConfiguration final Configuration config, |
| @PluginElement("Filter") final Filter filter) { |
| final List<AppenderRef> 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="table table-striped"> |
| <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 < dow) { |
| daysToAdd = dow - cDow; |
| } |
| if (cDow > dow) { |
| daysToAdd = dow + (7 - cDow); |
| } |
| |
| final int lDay = getLastDayOfMonth(mon, cl.get(Calendar.YEAR)); |
| |
| if (day + daysToAdd > 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="table table-striped"> |
| <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 < s.length() && ((c = s.charAt(i)) == '/')) { |
| i++; |
| c = s.charAt(i); |
| final int v2 = Integer.parseInt(String.valueOf(c)); |
| i++; |
| if (i >= s.length()) { |
| addToSet(val, end, v2, type); |
| return i; |
| } |
| c = s.charAt(i); |
| if (c >= '0' && c <= '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="table table-striped"> |
| <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<String, String> configuration = new HashMap<>(layout.getContentFormat()); |
| configuration.putAll(manager.getContentFormat()); |
| configuration.put("contentType", layout.getContentType()); |
| configuration.put("name", name); |
| advertisement = advertiser.advertise(configuration); |
| } else {</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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 && 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="table table-striped"> |
| <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("RollingFileAppender '{}': No TriggeringPolicy provided.", 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 && !(strategy instanceof DirectFileRolloverStrategy)) { |
| LOGGER.error("RollingFileAppender '{}': When no file name is provided a DirectFilenameRolloverStrategy must be configured");</pre></div></td></tr></table> |
| <table border="0" class="table table-striped"> |
| <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("java.lang.Thread") && method.equals("join")) { |
| sb.append(" (on completion of thread ").append(info.getLockOwnerId()).append(')'); |
| } else { |
| sb.append(" (parking for lock"); |
| if (info.getLockOwnerName() != null) { |
| sb.append(" owned by \""); |
| sb.append(info.getLockOwnerName()).append("\" Id=").append(info.getLockOwnerId()); |
| } |
| sb.append(')'); |
| } |
| break; |
| }</pre></div></td></tr></table></section> |
| </main> |
| </div> |
| </div> |
| <hr/> |
| <footer> |
| <div class="container-fluid"> |
| <div class="row-fluid"> |
| <p align="center">Copyright © 1999-2019 <a class="external" href="http://www.apache.org">The Apache Software Foundation</a>. All Rights Reserved.<br> |
| Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.</p> |
| </div> |
| </div> |
| </footer> |
| </body> |
| </html> |