<!--
 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" href="/manual/usage.html#StaticVsNonStatic"/>
        <item name="Logger Name vs Class Name" href="/manual/usage.html#LoggerVsClass"/>
        <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 2" href="/manual/appenders.html#NoSQLAppenderMongoDB2"/>
        <item name="NoSQL for MongoDB 3" href="/manual/appenders.html#NoSQLAppenderMongoDB3"/>
        <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="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 ContextDataProvider" href="/manual/extending.html#ContextDataProvider"/>
        <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 Sites" 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 MongoDB2 appender" href="log4j-mongodb2/index.html"/>
      <item name="Log4j MongoDB3 appender" href="log4j-mongodb3/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="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>
