This is an automated email from the ASF dual-hosted git repository.

vy pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git


The following commit(s) were added to refs/heads/2.x by this push:
     new 96eb0d0009 Update main website page
96eb0d0009 is described below

commit 96eb0d00099b709663a251484f2967cbb93b0230
Author: Volkan Yazıcı <[email protected]>
AuthorDate: Wed Nov 1 17:04:01 2023 +0100

    Update main website page
---
 README.adoc                   |   2 +-
 src/site/asciidoc/index.adoc  |  63 ++++++++++++++
 src/site/markdown/index.md.vm | 189 ------------------------------------------
 3 files changed, 64 insertions(+), 190 deletions(-)

diff --git a/README.adoc b/README.adoc
index 11583b9244..966f0c1e26 100644
--- a/README.adoc
+++ b/README.adoc
@@ -20,5 +20,5 @@ 
https://search.maven.org/artifact/org.apache.logging.log4j/log4j-api[image:https
 
https://libraries.io/maven/org.apache.logging.log4j:log4j-core/2.20.0[image:https://img.shields.io/librariesio/release/maven/org.apache.logging.log4j%3Alog4j-core/2.20.0?label=dependencies%20(2.x)[Libraries.io
 dependency status for 2.x]]
 
https://github.com/apache/logging-log4j2/security/code-scanning[image:https://github.com/apache/logging-log4j2/actions/workflows/codeql-analysis.yml/badge.svg?branch=2.x[CodeQL
 (2.x)]]
 
-Apache Log4j is a versatile, industrial-strength Java logging framework 
composed of an API, its implementation,  and components to assist the 
deployment for various use cases.
+Apache Log4j is a versatile, industrial-grade Java logging framework composed 
of an API, its implementation,  and components to assist the deployment for 
various use cases.
 For further information (support, download, etc.) see 
https://logging.apache.org/log4j[the project website].
diff --git a/src/site/asciidoc/index.adoc b/src/site/asciidoc/index.adoc
new file mode 100644
index 0000000000..8efb1314ec
--- /dev/null
+++ b/src/site/asciidoc/index.adoc
@@ -0,0 +1,63 @@
+////
+    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
+
+         https://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.
+////
+
+= Apache Log4j
+
+Apache Log4j is a versatile, industrial-grade Java logging framework composed 
of an API, its implementation,  and components to assist the deployment for 
various use cases.
+Log4j is 
https://security.googleblog.com/2021/12/apache-log4j-vulnerability.html[used by 
8% of the Maven ecosystem] and listed as one of 
https://docs.google.com/spreadsheets/d/1ONZ4qeMq8xmeCHX03lIgIYE4MEXVfVL6oj05lbuXTDM/edit#gid=1024997528[the
 top 100 critical open source software projects].
+The project is actively maintained by a link:team.html[team] of several 
volunteers and xref:support.adoc[support]ed by a big community.
+
+[#links]
+== Quick links
+- link:maven-artifacts.html[How can I add Log4j artifacts to my 
Maven/Ivy/Gradle project?]
+- link:manual/usage.html?[How can I use the Log4j API?]
+- link:manual/configuration.html[How can I configure my `log4j2.xml`?]
+- link:release-notes.adoc[Where are the release notes?]
+- link:support.adoc[**I need help!**]
+
+[#features]
+== Features
+
+We share below some highlights from Log4j features.
+
+Batteries included::
+Log4j bundles a rich set of components to assist various use cases.
+* link:manual/appenders.html[Appenders] targeting files, network sockets, 
databases, SMTP servers, etc.
+* link:manual/layouts.html[Layouts] that can render CSV, HTML, JSON, Syslog, 
etc. formatted outputs
+* link:manual/filters.html[Filters] that can be configured using log event 
rates, regular expressions, scripts, time, etc.
+* link:manual/lookups.html[Lookups] for accessing system properties, 
environment variables, log event fields, etc.
+
+
+API separation::
+The API for Log4j (i.e., `log4j-api`) is separate from the implementation 
(i.e., `log4j-core`) making it clear for application developers which classes 
and methods they can use while ensuring forward compatibility.
+(See link:manual/api-separation.html[API Separation] for details.)
+The Log4j API also provides the most feature rich logging facade in the 
market; support for various `Message` types (`Object`, `Map`, etc.) besides 
plain `String`, lambda expressions, parametrized logging, markers, levels, 
diagnostic contexts (aka. MDC/NDC), etc.
+Check out the link:manual/api.html[Java API], link:/log4j/kotlin[Kotlin API], 
and link:/log4j/scala[Scala API] pages for further information.
+
+No vendor lock-in::
+Even though the Log4j API is implemented by the Log4j at its fullest, users 
can choose to use another logging backend.
+This can be achieved by either using another backend implementing the Log4j 
API, or forwarding Log4j API calls to another logging facade (e.g., SLF4J) and 
using a backend for that particular facade.
+
+Performance::
+When configured correctly, Log4j can deliver excelling performance without 
almost any burden on the Java garbage collector.
+This is made possible via an asynchronous logger founded on the 
https://lmax-exchange.github.io/disruptor/[LMAX Disruptor] technology (having 
its roots in the demanding industry of financial trading) and the garbage-free 
features baked at hot paths.
+Check out the link:performance.html[Performance] page for details.
+
+Extensibility::
+Log4j contains a fully-fledged xref:manual/plugins.html[plugin support] that 
users can leverage to extend its functionality.
+You can easily add your own components (layouts, appenders, filters, etc.) or 
customizing existing ones (e.g., adding new directives to the 
link:manual/layouts.html#PatternLayout[Pattern] or 
xref:manual/json-template-layout.adoc#extending[JSON Template Layout]).
+Check out the link:manual/extending.html[Extending Log4j] page.
diff --git a/src/site/markdown/index.md.vm b/src/site/markdown/index.md.vm
deleted file mode 100644
index a6cb51313d..0000000000
--- a/src/site/markdown/index.md.vm
+++ /dev/null
@@ -1,189 +0,0 @@
-<!-- vim: set syn=markdown : -->
-<!--
-    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.
--->
-#set($dollar = '$')
-#set($h1='#')
-#set($h2='##')
-#set($h3='###')
-#set($h4='####')
-
-$h1 Apache Log4j™ 2
-
-Apache Log4j 2 is an upgrade to Log4j that provides significant improvements 
over its predecessor, Log4j 1.x, and
-provides many of the improvements available in Logback while fixing some 
inherent problems in Logback's architecture.
-
-<a name="CVE-2021-44832"/>
-
-$h2 Important: Security Vulnerability CVE-2021-44832
-
-Summary: Apache Log4j2 vulnerable to RCE via JDBC Appender when attacker 
controls configuration.
-
-$h4 Details
-
-Apache Log4j2 versions 2.0-beta7 through 2.17.0 (excluding security fix 
releases 2.3.2 and 2.12.4) are vulnerable to
-a remote code execution (RCE) attack where an attacker with permission to 
modify the logging configuration file can
-construct a malicious configuration using a JDBC Appender with a data source 
referencing a JNDI URI which can execute
-remote code. This issue is fixed by limiting JNDI data source names to the 
java protocol in Log4j2 versions 2.17.1,
-2.12.4, and 2.3.2.
-
-$h4 Mitigation
-Upgrade to Log4j 2.3.2 (for Java 6), 2.12.4 (for Java 7), or 2.17.1 (for Java 
8 and later)
-
-$h4 Reference
-Please refer to the [Security page](security.html#CVE-2021-44832) for details 
and mitigation measures for older
-versions of Log4j.
-
-$h2 Important: Security Vulnerabilities CVE-2021-45105, CVE-2021-45046 and 
CVE-2021-44228
-
-Please refer to the [Security page](security.html) for details and mitigation 
measures for these security issues.
-
-$h2 Features
-
-$h3 API Separation
-
-The API for Log4j is separate from the implementation making it clear for 
application developers which classes and
-methods they can use while ensuring forward compatibility. This allows the 
Log4j team to improve the implementation
-safely and in a compatible manner.
-
-The Log4j API is a logging facade that may, of course, be used with the Log4j 
implementation, but may also be used
-in front of other logging implementations such as Logback. The Log4j API has 
several advantages over SLF4J:
-1. The Log4j API supports logging [Messages](manual/messages.html) instead of 
just Strings.
-2. The Log4j API supports lambda expressions.
-3. The Log4j API provides many more logging methods than SLF4J.
-4. In addition to the "parameterized logging" format supported by SLF4J, the 
Log4j API also supports events using
-   the java.text.MessageFormat syntax as well printf-style messages.
-5. The Log4j API provides a LogManager.shutdown() method. The underlying 
logging implementation must implement the
-   Terminable interface for the method to have effect.
-6. Other constructs such as Markers, log Levels, and ThreadContext (aka MDC) 
are fully supported.
-
-$h3 Improved Performance
-
-Log4j 2 contains next-generation Asynchronous Loggers based on the LMAX 
Disruptor library. In multi-threaded scenarios
-Asynchronous Loggers have 18 times higher throughput and orders of magnitude 
lower latency than Log4j 1.x and Logback.
-See [Asynchronous Logging Performance](manual/async.html#Performance) for 
details. Otherwise, Log4j 2 significantly
-outperforms Log4j 1.x, Logback and java.util.logging, especially in 
multi-threaded applications.
-See [Performance](performance.html) for more information.
-
-$h3 Support for multiple APIs
-
-While the Log4j 2 API will provide the best performance, Log4j 2 provides 
support for the Log4j 1.2, SLF4J, Commons
-Logging and java.util.logging (JUL) APIs.
-
-$h3 Avoid lock-in
-
-Applications coded to the Log4j 2 API always have the option to use any 
SLF4J-compliant library as their logger
-implementation with the log4j-to-slf4j adapter.
-
-$h3 Automatic Reloading of Configurations
-
-Like Logback, Log4j 2 can automatically reload its configuration upon 
modification. Unlike Logback, it will do so
-without losing log events while reconfiguration is taking place.
-
-$h3 Advanced Filtering
-
-Like Logback, Log4j 2 supports filtering based on context data, markers, 
regular expressions, and other components in
-the Log event. Filtering can be specified to apply to all events before being 
passed to Loggers or as they pass through
-Appenders. In addition, filters can also be associated with Loggers. Unlike 
Logback, you can use a common Filter class
-in any of these circumstances.
-
-$h3 Plugin Architecture
-
-Log4j uses the plugin pattern to configure components. As such, you do not 
need to write code to create and configure an
-Appender, Layout, Pattern Converter, and so on. Log4j automatically recognizes 
plugins and uses them when a
-configuration references them.
-
-$h3 Property Support
-
-You can reference properties in a configuration, Log4j will directly replace 
them, or Log4j will pass them to an
-underlying component that will dynamically resolve them. Properties come from 
values defined in the configuration file,
-system properties, environment variables, the ThreadContext Map, and data 
present in the event. Users can further
-customize the property providers by adding their own 
[Lookup](manual/lookups.html) Plugin.
-
-$h3 Java 8 Lambda Support
-
-Previously, if a log message was expensive to construct, you would often 
explicitly check if the requested log level is
-enabled before constructing the message. Client code running on Java 8 can 
benefit from Log4j's
-[lambda support](manual/api.html#LambdaSupport). Since Log4j will not evaluate 
a lambda expression if the requested log
-level is not enabled, the same effect can be achieved with less code.
-
-$h3 Custom Log Levels
-
-In Log4j 2, [custom log levels](manual/customloglevels.html) can easily be 
defined in code or in configuration. No
-subclassing is required.
-
-$h3 Log Builder API
-In addition to using one of the many log methods in the Log4j API, log events 
can be constructed using a builder. See
-[Log Builder](manual/logbuilder.html) for more information.
-
-$h3 Garbage-free
-
-During steady state logging, Log4j 2 is 
[garbage-free](manual/garbagefree.html) in stand-alone applications, and low
-garbage in web applications. This reduces pressure on the garbage collector 
and can give better response time performance.
-
-$h3 Integrating with Application Servers
-
-Version 2.10.0 added the module log4j-appserver to improve integration with 
Apache Tomcat and Eclipse Jetty.
-
-$h3 Cloud Enabled
-
-Version 2.12.0 introduced support for accessing Docker container information 
via a Lookup and for accessing
-and updating the Log4j configuration through Spring Cloud Configuration. This 
support was enhanced in
-version 2.13.0 to add support for accessing Spring Boot properties as well as 
Kubernetes information.
-See [Logging in the Cloud](manual/cloud.html) for details.
-
-$h3 Compatible with Log4j 1.x
-
-The Log4j-1.2-api module of Log4j 2 provides compatibility for applications 
using the Log4j 1 logging methods. As
-of Log4j 2.13.0 Log4j 2 also provides experimental support for Log4j 1.x 
configuration files. See
-[Log4j 2 Compatibility with Log4j 1](manual/compatibility.html) for more 
information.
-
-$h2 Documentation
-
-The Log4j 2 User's Guide is available on this [site](manual/index.html).
-
-$h2 Requirements
-
-Log4j 2.13.0 and greater require Java 8. Version 2.4 through 2.12.1 required 
Java 7 (the Log4j team no longer supports
-Java 7). Some features require optional dependencies; the documentation for 
these features will specify the required
-dependencies.
-
-$h2 News
-
-Log4j 2.17.2 has been released to:
-
-* Over 50 improvements and fixes to the Log4j 1.x support. Continued testing 
has shown it is a suitable replacement
-for Log4j 1.x in most cases.
-* Scripting now requires a system property be specified naming the languages 
the user wishes to allow. The scripting
-engine will not load if the property isn't set.
-* By default, the only remote protocol allowed for loading configuration files 
is HTTPS. Users can specify a system
-property to allow others or prevent remote loading entirely.
-* Variable resolution has been modified so that only properties defined as 
properties in the configuration file can be
-recursive. All other Lookups are now non-recursive. This addresses issues 
users were having resolving lookups specified
-in property definitions for use in the RoutingAppender and RollingFileAppender 
due to restrictions put in place in 2.17.1.
-* Many other fixes and improvements.
-
-2.17.2 (for Java 8) is a recommended upgrade.
-
-Log4j $Log4jReleaseVersion is now available for production. While the normal 
API for Log4j 2 is not compatible with
-Log4j 1.x, an adapter is available to allow applications to continue to use 
the Log4j 1.x API and configuration files.
-Adapters are also available for Apache Commons Logging, SLF4J, and 
java.util.logging.
-
-Log4j $Log4jReleaseVersion is the latest release of Log4j. As of Log4j 2.13.0 
Log4j 2 requires Java 8 or greater at
-runtime.
-This release contains new features and fixes which are explained further in 
[release notes](release-notes).
-
-Log4j $Log4jReleaseVersion maintains binary compatibility with previous 
releases.

Reply via email to