<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache license, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the license at

      http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the license.

-->
<project name="Log4j"
         xmlns="http://maven.apache.org/DECORATION/1.4.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/DECORATION/1.4.0 http://maven.apache.org/xsd/decoration-1.4.0.xsd">
  <bannerLeft>
    <src>images/ls-logo.jpg</src>
    <href>http://logging.apache.org</href>
  </bannerLeft>
  <bannerRight>
    <src>images/logo.png</src>
    <href>http://logging.apache.org/log4j/2.x</href>
  </bannerRight>
  <skin>
    <groupId>org.apache.maven.skins</groupId>
    <artifactId>maven-fluido-skin</artifactId>
    <version>1.8</version>
  </skin>
  <body>
    <links>
      <item name="Logging Wiki" href="https://cwiki.apache.org/confluence/display/LOGGING/Log4j"/>
      <item name="Apache" href="https://www.apache.org/"/>
      <item name="Logging Services" href="https://logging.apache.org/"/>
      <item name="Sonar" href="https://analysis.apache.org/dashboard/index/org.apache.logging.log4j:log4j"/>
      <item name="GitHub" href="https://github.com/apache/logging-log4j2"/>
    </links>

    <menu name="Apache Log4j™ 2" inherit="top" img="img/glyphicons/home.png">
      <item name="About" href="/index.html"/>
      <item name="Download" href="/download.html"/>
      <item name="Javadoc" href="/javadoc.html" collapse="true">
        <item name="Log4j 2 API" href="/log4j-api/apidocs/index.html" />
        <item name="Implementation" href="/log4j-core/apidocs/index.html" />
        <item name="JSP Tag Library" href="/log4j-taglib/apidocs/index.html" />
        <item name="JSP Tag Library (TLD Doc)" href="/log4j-taglib/tlddoc/index.html" />
      </item>
      <item name="Maven, Ivy, Gradle Artifacts" href="/maven-artifacts.html" collapse="true">
        <item name="Maven" href="/maven-artifacts.html#Using_Log4j_in_your_Apache_Maven_build" />
        <item name="Ivy" href="/maven-artifacts.html#Using_Log4j_in_your_Apache_Ivy_build" />
        <item name="Gradle" href="/maven-artifacts.html#Using_Log4j_in_your_Gradle_build" />
        <item name="SBT" href="/maven-artifacts.html#Using_Log4j_in_your_SBT_build" />
        <item name="Bill of Material" href="/maven-artifacts.html#Bill_of_Material" />
        <item name="Optional Components" href="/maven-artifacts.html#Optional_Components" />
        <item name="Snapshot builds" href="/maven-artifacts.html#Snapshot_builds" />
      </item>
      <item name="Runtime Dependencies" href="/runtime-dependencies.html"/>
      <item name="Changelog" href="/changelog.html"/>
      <item name="FAQ" href="/faq.html"/>
      <item name="Performance" href="/performance.html" collapse="true">
        <item name="Benchmarks" href="/performance.html#benchmarks" />
        <item name="Logging Library Comparison" href="/performance.html#loglibComparison" />
        <item name="Async Logging Comparison" href="/performance.html#asyncLogging" />
        <item name="Async Logging Latency" href="/performance.html#asyncLoggingResponseTime" />
        <item name="Parameters" href="/performance.html#asyncLoggingWithParams" />
        <item name="Location" href="/performance.html#asyncLoggingWithLocation" />
        <item name="File Logging Comparison" href="/performance.html#fileLoggingComparison" />
        <item name="Filtering Comparison" href="/performance.html#filtering" />
        <item name="Trade-offs" href="/performance.html#tradeoffs" />
      </item>
      <item name="Articles and Tutorials" href="/articles.html"/>
      <item name="Security" href="/security.html"/>
      <item name="Support" href="/support.html"/>
      <item name="Thanks" href="/thanks.html"/>
    </menu>

    <menu name="For Contributors" inherit="top" img="img/glyphicons/pencil.png">
      <item name="Building Log4j from Source" href="/build.html"/>
      <item name="Guidelines" href="/guidelines.html"/>
      <item name="Style Guide" href="/javastyle.html"/>
    </menu>

    <menu name="Manual" inherit="top" img="img/glyphicons/book.png">
      <item name="Introduction" href="/manual/index.html"/>
      <item name="Architecture" href="/manual/architecture.html"/>
      <item name="Log4j 1.x Compatibility" href="manual/compatibility.html"/>
      <item name="Log4j 1.x Migration" href="manual/migration.html"/>

      <item name="Java API" href="/manual/api.html" collapse="true">
        <item name="Log Builder" href="manual/logbuilder.html"/>
        <item name="Flow Tracing" href="manual/flowtracing.html"/>
        <item name="Markers" href="manual/markers.html"/>
        <item name="Event Logging" href="/manual/eventlogging.html"/>
        <item name="Messages" href="/manual/messages.html"/>
        <item name="ThreadContext" href="/manual/thread-context.html"/>
      </item>

      <item name="Scala API" href="/manual/scala-api.html"/>

      <item name="Configuration" href="/manual/configuration.html" collapse="true">
        <item name="Automatic Configuration" href="/manual/configuration.html#AutomaticConfiguration"/>
        <item name="Additivity" href="/manual/configuration.html#Additivity"/>
        <item name="Automatic Reconfiguration" href="/manual/configuration.html#AutomaticReconfiguration"/>
        <item name="Chainsaw Support" href="/manual/configuration.html#ChainsawSupport"/>
        <item name="Configuration Syntax" href="/manual/configuration.html#ConfigurationSyntax" />
        <item name="XML Syntax" href="/manual/configuration.html#XML"/>
        <item name="JSON Syntax" href="/manual/configuration.html#JSON"/>
        <item name="YAML Syntax" href="/manual/configuration.html#YAML"/>
        <item name="Properties Syntax" href="/manual/configuration.html#Properties"/>
        <item name="Configuring Loggers" href="/manual/configuration.html#Loggers"/>
        <item name="Configuring Appenders" href="/manual/configuration.html#Appenders"/>
        <item name="Configuring Filters" href="/manual/configuration.html#Filters"/>
        <item name="Property Substitution" href="/manual/configuration.html#PropertySubstitution"/>
        <item name="Lookup Variables" href="/manual/configuration.html#RuntimeLookup"/>
        <item name="Scripts" href="/manual/configuration.html#Scripts"/>
        <item name="XInclude" href="/manual/configuration.html#XInclude"/>
        <item name="Composite Configurations" href="/manual/configuration.html#CompositeConfiguration"/>
        <item name="Status Messages" href="/manual/configuration.html#StatusMessages"/>
        <item name="Unit Testing in Maven" href="/manual/configuration.html#UnitTestingInMaven"/>
        <item name="System Properties" href="/manual/configuration.html#SystemProperties"/>
      </item>

      <item name="Usage" href="/manual/usage.html" collapse="true">
        <item name="Static vs non-Static Loggers"/>
        <item name="Logger Name vs Class Name"/>
        <item name="Logging in the Cloud" href="/manual/cloud.html"/>
      </item>

      <item name="Web Applications and JSPs" href="/manual/webapp.html" collapse="true">
        <item name="Servlet 3.0 and Newer" href="/manual/webapp.html#Servlet-3.0" />
        <item name="Servlet 2.5" href="/manual/webapp.html#Servlet-2.5" />
        <item name="Context Parameters" href="/manual/webapp.html#ContextParams" />
        <item name="Configuration Lookups" href="/manual/webapp.html#WebLookup" />
        <item name="JavaServer Pages Logging" href="/manual/webapp.html#JspLogging" />
        <item name="Asynchronous Requests" href="/manual/webapp.html#Async" />
      </item>

      <item name="Lookups" href="/manual/lookups.html" collapse="true">
        <item name="Context Map" href="/manual/lookups.html#ContextMapLookup"/>
        <item name="Date" href="/manual/lookups.html#DateLookup"/>
        <item name="Docker" href="manual/lookups.html#DockerLookup"/>
        <item name="Environment" href="/manual/lookups.html#EnvironmentLookup"/>
        <item name="Event" href="/manual/lookups.html#EventLookup"/>
        <item name="Java" href="/manual/lookups.html#JavaLookup"/>
        <item name="JNDI" href="/manual/lookups.html#JndiLookup"/>
        <item name="JVM Arguments" href="/manual/lookups.html#JmxRuntimeInputArgumentsLookup"/>
        <item name="Kubernetes" href="/manual/lookups.html#KubernetesLookup"/>
        <item name="Log4j Config" href="/manual/lookups.html#Log4jConfigLookup"/>
        <item name="Lower" href="/manual/lookups.html#LowerLookup"/>
        <item name="Main Arguments" href="/manual/lookups.html#AppMainArgsLookup"/>
        <item name="Map" href="/manual/lookups.html#MapLookup"/>
        <item name="Spring" href="/manual/lookups.html#SpringLookup"/>
        <item name="Structured Data" href="/manual/lookups.html#StructuredDataLookup"/>
        <item name="System Properties" href="/manual/lookups.html#SystemPropertiesLookup"/>
        <item name="Upper" href="/manual/lookups.html#UpperLookup"/>
        <item name="Web" href="/manual/lookups.html#WebLookup"/>
      </item>

      <item name="Appenders" href="/manual/appenders.html" collapse="true">
        <item name="Async" href="/manual/appenders.html#AsyncAppender"/>
        <item name="Cassandra" href="/manual/appenders.html#CassandraAppender"/>
        <item name="Console" href="/manual/appenders.html#ConsoleAppender"/>
        <item name="Failover" href="/manual/appenders.html#FailoverAppender"/>
        <item name="File" href="/manual/appenders.html#FileAppender"/>
        <item name="Flume" href="/manual/appenders.html#FlumeAppender"/>
        <item name="JDBC" href="/manual/appenders.html#JDBCAppender"/>
        <item name="JMS" href="/manual/appenders.html#JMSAppender"/>
        <item name="JPA" href="/manual/appenders.html#JPAAppender"/>
        <item name="HTTP" href="/manual/appenders.html#HttpAppender"/>
        <item name="Kafka" href="/manual/appenders.html#KafkaAppender"/>
        <item name="Memory Mapped File" href="/manual/appenders.html#MemoryMappedFileAppender"/>
        <item name="NoSQL" href="/manual/appenders.html#NoSQLAppender"/>
        <item name="NoSQL for MongoDB" href="/manual/appenders.html#NoSQLAppenderMongoDB"/>
        <item name="NoSQL for MongoDB 3" href="/manual/appenders.html#NoSQLAppenderMongoDB3"/>
        <item name="NoSQL for MongoDB 4" href="/manual/appenders.html#NoSQLAppenderMongoDB4"/>
        <item name="NoSQL for CouchDB" href="/manual/appenders.html#NoSQLAppenderCouchDB"/>
        <item name="Output Stream" href="/manual/appenders.html#OutputStreamAppender"/>
        <item name="Random Access File" href="/manual/appenders.html#RandomAccessFileAppender"/>
        <item name="Rewrite" href="/manual/appenders.html#RewriteAppender"/>
        <item name="Rolling File" href="/manual/appenders.html#RollingFileAppender"/>
        <item name="Rolling Random Access File" href="/manual/appenders.html#RollingRandomAccessFileAppender"/>
        <item name="Routing" href="/manual/appenders.html#RoutingAppender"/>
        <item name="SMTP" href="/manual/appenders.html#SMTPAppender"/>
        <item name="ScriptAppenderSelector" href="/manual/appenders.html#ScriptAppenderSelector"/>
        <item name="Socket" href="/manual/appenders.html#SocketAppender"/>
        <item name="SSL" href="/manual/appenders.html#SSL"/>
        <item name="Syslog" href="/manual/appenders.html#SyslogAppender"/>
        <item name="ZeroMQ/JeroMQ" href="/manual/appenders.html#JeroMQAppender"/>
      </item>

      <item name="Layouts" href="/manual/layouts.html" collapse="true">
        <item name="CSV" href="/manual/layouts.html#CSVLayouts"/>
        <item name="GELF" href="/manual/layouts.html#GELFLayout"/>
        <item name="HTML" href="/manual/layouts.html#HTMLLayout"/>
        <item name="JSON" href="/manual/layouts.html#JSONLayout"/>
        <item name="JSON Template" href="/manual/json-template-layout.html"/>
        <item name="Pattern" href="/manual/layouts.html#PatternLayout"/>
        <item name="RFC-5424" href="/manual/layouts.html#RFC5424Layout"/>
        <item name="Serialized" href="/manual/layouts.html#SerializedLayout"/>
        <item name="Syslog" href="/manual/layouts.html#SyslogLayout"/>
        <item name="XML" href="/manual/layouts.html#XMLLayout"/>
        <item name="YAML" href="/manual/layouts.html#YamlLayout"/>
        <item name="Location Information" href="/manual/layouts.html#LocationInformation"/>
      </item>

      <item name="Filters" href="/manual/filters.html" collapse="true">
        <item name="Burst" href="/manual/filters.html#BurstFilter"/>
        <item name="Composite Filter" href="/manual/filters.html#CompositeFilter"/>
        <item name="Dynamic Threshold" href="/manual/filters.html#DynamicThresholdFilter"/>
        <item name="Map" href="/manual/filters.html#MapFilter"/>
        <item name="Marker" href="/manual/filters.html#MarkerFilter"/>
        <item name="Regex" href="/manual/filters.html#RegexFilter"/>
        <item name="Script" href="/manual/filters.html#Script"/>
        <item name="Structured Data" href="/manual/filters.html#StructuredDataFilter"/>
        <item name="Thread Context Map" href="/manual/filters.html#ThreadContextMapFilter"/>
        <item name="Threshold" href="/manual/filters.html#ThresholdFilter"/>
        <item name="Time" href="/manual/filters.html#TimeFilter"/>
      </item>

      <item name="Async Loggers" href="/manual/async.html" collapse="true">
        <item name="Trade-offs" href="/manual/async.html#Trade-offs"/>
        <item name="All Loggers Async" href="/manual/async.html#AllAsync"/>
        <item name="Mixed Sync &amp; Async" href="/manual/async.html#MixedSync-Async"/>
        <item name="Location" href="/manual/async.html#Location"/>
        <item name="Performance" href="/manual/async.html#Performance"/>
        <item name="Under The Hood" href="/manual/async.html#UnderTheHood"/>
      </item>

      <item name="Garbage-free Logging" href="/manual/garbagefree.html" collapse="true">
        <item name="Configuration" href="/manual/garbagefree.html#Config"/>
        <item name="Supported Appenders" href="/manual/garbagefree.html#Appenders"/>
        <item name="Supported Layouts" href="/manual/garbagefree.html#Layouts"/>
        <item name="Supported Filters" href="/manual/garbagefree.html#Filters"/>
        <item name="API Changes" href="/manual/garbagefree.html#api"/>
        <item name="Impact on Application Code" href="/manual/garbagefree.html#codeImpact"/>
        <item name="Performance" href="/manual/garbagefree.html#Performance"/>
        <item name="Under the Hood" href="/manual/garbagefree.html#UnderTheHood"/>
      </item>

      <item name="JMX" href="/manual/jmx.html"/>
      <item name="Logging Separation" href="/manual/logsep.html"/>

      <item name="Extending Log4j" href="/manual/extending.html" collapse="true">
        <item name="LoggerContextFactory" href="/manual/extending.html#LoggerContextFactory"/>
        <item name="ContextSelector" href="/manual/extending.html#ContextSelector"/>
        <item name="ConfigurationFactory" href="/manual/extending.html#ConfigurationFactory"/>
        <item name="LoggerConfig" href="/manual/extending.html#LoggerConfig"/>
        <item name="LogEventFactory" href="/manual/extending.html#LogEventFactory"/>
        <item name="MessageFactory" href="/manual/extending.html#MessageFactory"/>
        <item name="Lookups" href="/manual/extending.html#Lookups"/>
        <item name="Filters" href="/manual/extending.html#Filters"/>
        <item name="Appenders" href="/manual/extending.html#Appenders"/>
        <item name="Layouts" href="/manual/extending.html#Layouts"/>
        <item name="PatternConverters" href="/manual/extending.html#PatternConverters"/>
        <item name="Plugin Builders" href="/manual/extending.html#Plugin_Builders"/>
        <item name="Custom ContextDataInjector" href="/manual/extending.html#Custom_ContextDataInjector"/>
        <item name="Custom Plugins" href="/manual/extending.html#Custom_Plugins"/>
      </item>

      <item name="Plugins" href="/manual/plugins.html" collapse="true">
        <item name="Core" href="/manual/plugins.html#Core"/>
        <item name="Converters" href="/manual/plugins.html#Converters"/>
        <item name="Key Providers" href="/manual/plugins.html#KeyProviders"/>
        <item name="Lookups" href="/manual/plugins.html#Lookups"/>
        <item name="Type Converters" href="/manual/plugins.html#TypeConverters"/>
        <item name="Developer Notes" href="/manual/plugins.html#DeveloperNotes"/>
      </item>

      <item name="Programmatic Log4j Configuration" href="/manual/customconfig.html" collapse="true">
        <item name="ConfigurationBuilder API" href="/manual/customconfig.html#ConfigurationBuilder"/>
        <item name="Understanding ConfigurationFactory" href="/manual/customconfig.html#ConfigurationFactory"/>
        <item name="Example" href="/manual/customconfig.html#Example"/>
        <item name="Using Configurator" href="/manual/customconfig.html#Configurator"/>
        <item name="Config File and Code" href="/manual/customconfig.html#Hybrid"/>
        <item name="After Initialization" href="/manual/customconfig.html#AddingToCurrent"/>
        <item name="Appending to Writers &amp; OutputStreams" href="/manual/customconfig.html#AppendingToWritersAndOutputStreams"/>
      </item>

      <item name="Custom Log Levels" href="/manual/customloglevels.html" collapse="true">
        <item name="In Code" href="/manual/customloglevels.html#DefiningLevelsInCode"/>
        <item name="In Configuration" href="/manual/customloglevels.html#DefiningLevelsInConfiguration"/>
        <item name="Adding or Replacing Levels" href="/manual/customloglevels.html#AddingOrReplacingLevels"/>
        <item name="Custom Loggers" href="/manual/customloglevels.html#CustomLoggers"/>
        <item name="Custom Logger Example" href="/manual/customloglevels.html#ExampleUsage"/>
        <item name="Code Generation Tool" href="/manual/customloglevels.html#CodeGen"/>
      </item>

    </menu>

    <menu name="Related Projects" inherit="top" img="img/glyphicons/tag.png">
      <item name="Log4j-Scala" href="http://logging.apache.org/log4j/scala/index.html"/>
    </menu>

    <menu name="Legacy" inherit="top" img="img/glyphicons/link.png">
      <item name="Log4j 1.2 - End of Life" href="http://logging.apache.org/log4j/1.2/"/>
      <item name="Log4j 2.3 - Java 6" href="http://logging.apache.org/log4j/log4j-2.3/"/>
      <item name="Log4j 2.12.1 - Java 7" href="http://logging.apache.org/log4j/log4j-2.12.1/"/>
    </menu>

    <menu name="Components" inherit="top" img="img/glyphicons/cog.png">
      <item name="API" href="log4j-api/index.html"/>
      <item name="Implementation" href="log4j-core/index.html"/>
      <item name="Commons Logging Bridge" href="log4j-jcl/index.html"/>
      <item name="Log4j 1.2 API" href="log4j-1.2-api/index.html"/>
      <item name="SLF4J Binding" href="log4j-slf4j-impl/index.html"/>
      <item name="JUL Adapter" href="log4j-jul/index.html"/>
      <item name="JDK Platform Logger" href="log4j-jpl/index.html"/>
      <item name="Log4j 2 to SLF4J Adapter" href="log4j-to-slf4j/index.html"/>
      <item name="Apache Flume Appender" href="log4j-flume-ng/index.html"/>
      <item name="Log4j Tag Library" href="log4j-taglib/index.html"/>
      <item name="Log4j JMX GUI" href="log4j-jmx-gui/index.html"/>
      <item name="Log4j Web Application Support" href="log4j-web/index.html"/>
      <item name="Log4j Application Server Integration" href="log4j-appserver/index.html"/>
      <item name="Log4j CouchDB appender" href="log4j-couchdb/index.html"/>
      <item name="Log4j MongoDB3 appender" href="log4j-mongodb3/index.html"/>
      <item name="Log4j MongoDB4 appender" href="log4j-mongodb4/index.html"/>
      <item name="Log4j Cassandra appender" href="log4j-cassandra/index.html"/>
      <item name="Log4j IO Streams" href="log4j-iostreams/index.html"/>
      <item name="Log4j Liquibase Binding" href="log4j-liquibase/index.html"/>
      <item name="Log4j Docker Support" href="log4j-docker/index.html"/>
      <item name="Lob4j Kubernetes Support" href="log4j-kubernetes/index.html"/>
      <item name="Log4j Spring Cloud Config Client" href="log4j-spring-cloud-config/log4j-spring-cloud-config-client/index.html"/>
    </menu>

    <menu name="Project Information" img="img/glyphicons/info.png">
      <item name="Dependency Convergence" href="/dependency-convergence.html" />
      <item name="Dependency Management" href="/dependency-management.html" />
      <item name="Project Team" href="/team-list.html" />
      <item name="Mailing Lists" href="/mail-lists.html" />
      <item name="Issue Tracking" href="/issue-tracking.html" />
      <item name="Project License" href="/license.html" />
      <item name="Source Repository" href="/source-repository.html" />
      <item name="Project Summary" href="/project-summary.html" />
    </menu>

    <menu name="Project Reports" img="img/glyphicons/layers.png">
      <item name="Changes Report" href="/changes-report.html" />
      <item name="JIRA Report" href="/jira-report.html" />
      <item name="RAT Report" href="/rat-report.html" />
    </menu>
    <footer><![CDATA[<p align="center">Copyright &copy; ${project.inceptionYear}-${currentYear} <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>]]>
    </footer>
  </body>
</project>
