This is an automated email from the ASF dual-hosted git repository.
pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
The following commit(s) were added to refs/heads/main by this push:
new 5b4ef9da94 Update JDK Javadoc links to Java 17
5b4ef9da94 is described below
commit 5b4ef9da94dd582dae372a81a437325df1dfb83e
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Wed Jul 17 20:55:25 2024 +0200
Update JDK Javadoc links to Java 17
---
src/site/antora/antora.tmpl.yml | 2 +-
src/site/antora/antora.yml | 2 +-
src/site/antora/modules/ROOT/pages/log4j-jul.adoc | 28 +++++----
.../modules/ROOT/pages/manual/appenders.adoc | 73 ++++++++++++----------
.../antora/modules/ROOT/pages/manual/filters.adoc | 22 +++----
.../modules/ROOT/pages/manual/garbagefree.adoc | 5 +-
.../antora/modules/ROOT/pages/manual/layouts.adoc | 11 +++-
.../antora/modules/ROOT/pages/manual/lookups.adoc | 17 ++---
.../modules/ROOT/pages/manual/pattern-layout.adoc | 14 +++--
.../antora/modules/ROOT/pages/manual/plugins.adoc | 7 ++-
.../antora/modules/ROOT/pages/manual/scripts.adoc | 9 +--
.../properties-configuration-factory.adoc | 2 +-
.../properties-garbage-collection.adoc | 8 ++-
.../properties-log4j-core-misc.adoc | 2 +-
.../systemproperties/properties-log4j-jndi.adoc | 2 +-
.../systemproperties/properties-log4j-jul.adoc | 2 +-
.../systemproperties/properties-log4j-script.adoc | 4 +-
.../properties-logger-context.adoc | 3 +-
.../properties-transport-security.adoc | 38 +++++------
19 files changed, 140 insertions(+), 111 deletions(-)
diff --git a/src/site/antora/antora.tmpl.yml b/src/site/antora/antora.tmpl.yml
index eaf29030f6..230e25d958 100644
--- a/src/site/antora/antora.tmpl.yml
+++ b/src/site/antora/antora.tmpl.yml
@@ -43,7 +43,7 @@ asciidoc:
project-github-url: "${scm.url}/tree/${scm.tag}"
project-name: "Log4j"
project-id: "log4j"
- java-target-version: "${maven.compiler.target}"
+ java-target-version: "${maven.compiler.release}"
java-compiler-version: "${minimalJavaBuildVersion}"
log4j-kubernetes-url:
"https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md"
logback-url: "https://logback.qos.ch"
diff --git a/src/site/antora/antora.yml b/src/site/antora/antora.yml
index 45889174ea..ebd9c40359 100644
--- a/src/site/antora/antora.yml
+++ b/src/site/antora/antora.yml
@@ -43,7 +43,7 @@ asciidoc:
project-github-url: "https://github.com/apache/logging-log4j2/tree/main"
project-name: "Log4j"
project-id: "log4j"
- java-target-version: "8"
+ java-target-version: "17"
java-compiler-version: "[17,18)"
log4j-kubernetes-url:
"https://github.com/fabric8io/kubernetes-client/blob/main/doc/KubernetesLog4j.md"
logback-url: "https://logback.qos.ch"
diff --git a/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
b/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
index a68209e613..854b102c38 100644
--- a/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
+++ b/src/site/antora/modules/ROOT/pages/log4j-jul.adoc
@@ -17,7 +17,9 @@ Licensed to the Apache Software Foundation (ASF) under one or
more
= Log4j JDK Logging Adapter
-The JDK Logging Adapter is a custom implementation of
http://docs.oracle.com/javase/6/docs/api/java/util/logging/LogManager.html[`java.util.logging.LogManager`]
that uses link:javadoc/log4j-core/index.html[Log4j].
+The JDK Logging Adapter is a custom implementation of
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/LogManager.html[`java.util.logging.LogManager`]
+that uses link:javadoc/log4j-core/index.html[Log4j].
This adapter can be used with either the Log4j API or Log4j Core.
When used with the API, there are a couple features of JUL that aren't
supported.
However, this does allow any other Log4j Provider besides the Core provider to
be used with JUL.
@@ -35,14 +37,14 @@ This must be done either through the command line (i.e.,
using the `-Djava.util.
== Compatibility
The use of a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Filter.html[`java.util.logging.Filter`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Filter.html[`java.util.logging.Filter`]
is supported on a
-per-link:https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Logger.html[`Logger`]
+per-link:https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Logger.html[`Logger`]
basis.
However, it is recommended to use the standard
xref:manual/filters.adoc[filters] feature in Log4j instead.
The use of
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Handler.html[`java.util.logging.Handler`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Handler.html[`java.util.logging.Handler`]
classes is
_NOT_ supported.
Custom Handlers should instead use an appropriate
@@ -66,31 +68,31 @@ Using the default `LevelConverter` implementation, custom
logging levels are map
|===
| Java Level | Log4j Level
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#OFF[`OFF`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#OFF[`OFF`]
| {log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#OFF[`OFF`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#SEVERE[`SEVERE`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#SEVERE[`SEVERE`]
|
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#ERROR[`ERROR`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#WARNING[`WARNING`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#WARNING[`WARNING`]
|
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#WARN[`WARN`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#OFF[`OFF`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#OFF[`OFF`]
|
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#INFO[`INFO`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#CONFIG[`CONFIG`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#CONFIG[`CONFIG`]
| custom `CONFIG` level
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINE[`FINE`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINE[`FINE`]
|
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#DEBUG[`DEBUG`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINER[`FINER`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINER[`FINER`]
|
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#TRACE[`TRACE`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#FINEST[`FINEST`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#FINEST[`FINEST`]
| custom `FINEST` level
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Level.html#ALL[`ALL`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Level.html#ALL[`ALL`]
| {log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/Level.html#ALL[`ALL`]
|===
diff --git a/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
b/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
index 2428a9587c..02daaa0701 100644
--- a/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/appenders.adoc
@@ -59,12 +59,12 @@ These configuration attributes are shared by multiple
appenders:
If set to `true`, Log4j will flush all Java buffers at the end of each event:
* for appenders based on Java's
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/io/OutputStream.html[`OutputStream`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/io/OutputStream.html[`OutputStream`]
a call to the `OutputStream.flush()` method is performed.
* if
xref:manual/systemproperties.adoc#log4j.gc.enableDirectEncoders[`log4j.gc.enableDirectEncoders`]
is set to `true`, many Log4j appenders use a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]
to format log events before sending them to the underlying resource.
Setting `immediateFlush` to `true` flushes these buffers at each event.
@@ -137,7 +137,7 @@ Note that exceptions while writing to those Appenders will
be hidden from the ap
The AsyncAppender should be configured after the appenders it references to
allow it to shut down properly.
By default, AsyncAppender uses
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/ArrayBlockingQueue.html[`java.util.concurrent.ArrayBlockingQueue`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html[`java.util.concurrent.ArrayBlockingQueue`]
which does not require any external libraries.
Note that multi-threaded applications should exercise care when using this
appender as such: the blocking queue is susceptible to lock contention and our
xref:manual/performance.adoc#async[tests showed] performance may become worse
when more threads are logging concurrently.
@@ -272,7 +272,7 @@ Log4j ships with the following implementations:
|=======================================================================
|Plugin Name |Description
|ArrayBlockingQueue |This is the default implementation that uses
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/ArrayBlockingQueue.html[`ArrayBlockingQueue`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/ArrayBlockingQueue.html[`ArrayBlockingQueue`].
|DisruptorBlockingQueue |This uses the
https://github.com/conversant/disruptor[Conversant Disruptor]
@@ -285,7 +285,7 @@ bounded lock-free queue.
This implementation is provided by the `log4j-jctools` artifact.
|LinkedTransferQueue |This uses the new Java 7 implementation
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/concurrent/LinkedTransferQueue.html[`LinkedTransferQueue`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/concurrent/LinkedTransferQueue.html[`LinkedTransferQueue`].
Note that this queue does not use the `bufferSize` configuration
attribute from AsyncAppender as `LinkedTransferQueue` does not support a
maximum capacity.
@@ -496,7 +496,7 @@ File attribute permissions in POSIX format to apply
whenever the file is
created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
file attribute view.
Examples: `rw-------` or `rw-rw-rw-` etc...
@@ -512,14 +512,14 @@
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
is in effect for path.
The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
attribute view.
|fileGroup |String a|
File group to define whenever the file is created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
file attribute view.
|=======================================================================
@@ -1197,7 +1197,9 @@ However, configurations written for 2.0 that use the
`<JMSQueue/>` or `<JMSTopic
| factoryName
| String
| _Required_
-| The fully qualified class name that should be used to define the Initial
Context Factory as defined in
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#INITIAL_CONTEXT_FACTORY[`INITIAL_CONTEXT_FACTORY`].
If a `factoryName` is specified without a `providerURL`, a warning message
will be logged as this is likely to cause problems.
+| The fully qualified class name that should be used to define the Initial
Context Factory as defined in
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#INITIAL_CONTEXT_FACTORY[`INITIAL_CONTEXT_FACTORY`].
+If a `factoryName` is specified without a `providerURL`, a warning message
will be logged as this is likely to cause problems.
| filter
| Filter
@@ -1222,7 +1224,9 @@ However, configurations written for 2.0 that use the
`<JMSQueue/>` or `<JMSTopic
| providerURL
| String
| _Required_
-| The URL of the provider to use as defined by
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#PROVIDER_URL[PROVIDER_URL].
From Log4j 2.17, only the `java:` protocol is supported.
+| The URL of the provider to use as defined by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#PROVIDER_URL[PROVIDER_URL].
+From Log4j 2.17, only the `java:` protocol is supported.
| destinationBindingName
| String
@@ -1232,12 +1236,15 @@ However, configurations written for 2.0 that use the
`<JMSQueue/>` or `<JMSTopic
| securityPrincipalName
| String
| null
-| The name of the identity of the Principal as specified by
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#SECURITY_PRINCIPAL[SECURITY_PRINCIPAL].
If a securityPrincipalName is specified without `securityCredentials`, a
warning message will be logged as this is likely to cause problems.
+| The name of the identity of the Principal as specified by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#SECURITY_PRINCIPAL[SECURITY_PRINCIPAL].
+If a securityPrincipalName is specified without `securityCredentials`, a
warning message will be logged as this is likely to cause problems.
| securityCredentials
| String
| null
-| The security credentials for the principal as specified by
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#SECURITY_CREDENTIALS[SECURITY_CREDENTIALS].
+| The security credentials for the principal as specified by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#SECURITY_CREDENTIALS[SECURITY_CREDENTIALS].
| ignoreExceptions
| boolean
@@ -1257,7 +1264,8 @@ However, configurations written for 2.0 that use the
`<JMSQueue/>` or `<JMSTopic
| urlPkgPrefixes
| String
| null
-| A colon-separated list of package prefixes for the class name of the factory
class that will create a URL context factory as defined by
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Context.html#URL_PKG_PREFIXES[URL_PKG_PREFIXES].
+| A colon-separated list of package prefixes for the class name of the factory
class that will create a URL context factory as defined by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Context.html#URL_PKG_PREFIXES[URL_PKG_PREFIXES].
| userName
| String
@@ -1495,7 +1503,7 @@ Additional headers can be specified with embedded
Property elements.
It will also wait for a response from the server, and throw an error if no 2xx
response is received.
Implemented with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/HttpURLConnection.html[`HttpURLConnection`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/HttpURLConnection.html[`HttpURLConnection`].
.HttpAppender Parameters
[cols="20%,20%,60%",options="header",]
@@ -1693,7 +1701,7 @@ CompositeFilter.
|immediateFlush |boolean a|
When set to true, each write will be followed by a call to
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/MappedByteBuffer.html#force()[`MappedByteBuffer#force()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/MappedByteBuffer.html#force()[`MappedByteBuffer#force()`].
This will guarantee the data is written to the storage device.
The default for this parameter is `false`. This means that the data is
@@ -2342,7 +2350,7 @@ All patterns accept also format specifiers, e.g. `%03i`
prints the index as zero
will accept both a date/time pattern
compatible with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
and/or a %i which represents an integer counter.
The integer counter
allows specifying a padding, like %3i for space-padding the counter to
@@ -2393,7 +2401,7 @@ File attribute permissions in POSIX format to apply
whenever the file is
created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
file attribute view.
Examples: rw------- or rw-rw-rw- etc...
@@ -2409,14 +2417,14 @@
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
is in effect for path.
The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[owner]
attribute view.
|fileGroup |String a|
File group to define whenever the file is created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[POSIX]
file attribute view.
|=======================================================================
@@ -2834,9 +2842,9 @@ Users can create custom conditions or use the built-in
conditions:
* <<DeleteIfFileName,`IfFileName`>> - accepts files whose path
(relative to the base path) matches a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[regular
-expression] or a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[glob].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[regular
expression]
+or a
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[glob].
* <<DeleteIfLastModified,`IfLastModified`>> - accepts files that are as
old as or older than the specified
link:../javadoc/log4j-core/org/apache/logging/log4j/core/appender/rolling/action/Duration.html#parse(CharSequence)[duration].
@@ -2877,13 +2885,12 @@ and must return a list with the paths to delete.
|glob |String |_Required if regex is not specified._ Matches the relative
path (relative to the base path) using a limited pattern language that
resembles regular expressions but with a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[simpler
-syntax].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/FileSystem.html#getPathMatcher(java.lang.String)[simpler
syntax].
|regex |String |_Required if glob not specified._ Matches the relative
path (relative to the base path) using a regular expression as defined
by the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[`Pattern`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[`Pattern`]
class.
|nestedConditions |PathCondition[] |An optional set of nested
@@ -3159,7 +3166,7 @@ File attribute permissions in POSIX format to apply when
action is
executed.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
file attribute view.
Examples: rw------- or rw-rw-rw- etc...
@@ -3175,14 +3182,14 @@
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
is in effect for path.
The underlying files system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
attribute view.
|fileGroup |String a|
File group to define when action is executed.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
file attribute view.
|=======================================================================
@@ -3262,7 +3269,7 @@ of its parent directories, do not exist, they will be
created.
file. The format of the pattern should is dependent on the
RolloverPolicy that is used. The DefaultRolloverPolicy will accept both
a date/time pattern compatible with
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
and/or a %i which represents an integer counter. The pattern also
supports interpolation at runtime so any of the Lookups (such as the
xref:manual/lookups.adoc#DateLookup[DateLookup] can be included in the
@@ -3304,7 +3311,7 @@ File attribute permissions in POSIX format to apply
whenever the file is
created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
file attribute view.
Examples: `rw-------` or `rw-rw-rw-` etc...
@@ -3320,14 +3327,14 @@
http://www.gnu.org/software/libc/manual/html_node/Options-for-Files.html[_POSIX_
is in effect for path.
The underlying file system shall support file
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/FileOwnerAttributeView.html[`owner`]
attribute view.
|fileGroup |String a|
File group to define whenever the file is created.
The underlying files system shall support
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/attribute/PosixFileAttributeView.html[`POSIX`]
file attribute view.
|=======================================================================
@@ -4012,7 +4019,7 @@ syslog record.
|charset |String |The character set to use when converting the Syslog
String to a byte array. The String must be a valid
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/charset/Charset.html[`Charset`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/charset/Charset.html[`Charset`].
If not specified, the default system Charset will be used.
|connectTimeoutMillis |integer |The connect timeout in milliseconds. The
diff --git a/src/site/antora/modules/ROOT/pages/manual/filters.adoc
b/src/site/antora/modules/ROOT/pages/manual/filters.adoc
index 9aaa346c47..f286a040b0 100644
--- a/src/site/antora/modules/ROOT/pages/manual/filters.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/filters.adoc
@@ -296,9 +296,9 @@
include::example$manual/filters/filters.properties[lines=17..-1]
=== Common configuration attributes
The default behavior of filters is in line with the `filter()` methods of
functional interfaces, such as
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/Optional.html#filter-java.util.function.Predicate-[`Optional.filter()`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Optional.html#filter(java.util.function.Predicate)[`Optional.filter()`]
or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/stream/Stream.html#filter-java.util.function.Predicate-[`Stream.filter()`]:
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/stream/Stream.html#filter(java.util.function.Predicate)[`Stream.filter()`]:
filters pass matching events to the next filter and drop those that do not
match.
To allow for a larger spectrum of behaviors,
@@ -443,18 +443,18 @@ the `TimeFilter` supports the following parameters:
| Attribute | Type | Default value | Description
| start
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html[`LocalTime`]
in `HH:mm:ss` format
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html#MIN[`LocalTime.MIN`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html[`LocalTime`]
in `HH:mm:ss` format
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html#MIN[`LocalTime.MIN`]
| The beginning of the time slot.
| start
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html[`LocalTime`]
in `HH:mm:ss` format
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/LocalTime.html#MAX[`LocalTime.MAX`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html[`LocalTime`]
in `HH:mm:ss` format
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/LocalTime.html#MAX[`LocalTime.MAX`]
| The end of the time slot.
| timezone
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/ZoneId.html[`ZoneId`]
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/ZoneId.html#systemDefault--[`ZoneId.systemDefault()`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/ZoneId.html[`ZoneId`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/ZoneId.html#systemDefault()[`ZoneId.systemDefault()`]
| The timezone to use when comparing `start` and `end` to the event timestamp.
|===
@@ -762,7 +762,7 @@ the `RegexFilter` supports the following parameters:
|Attribute | Type | Default value | Description
| regex
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/regex/Pattern.html[`Pattern`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[`Pattern`]
|
| The regular expression used to match log messages.
@@ -1192,9 +1192,9 @@ the `MutableContextMapFilter` supports the following
parameters:
| Attribute | Type | Default value | Description
| configLocation
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
|
| The location of the JSON <<configuration-map>>.
diff --git a/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
b/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
index 98dadb5f52..8feaeeda77 100644
--- a/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/garbagefree.adoc
@@ -267,7 +267,10 @@ Logging more than 10 parameters creates
https://docs.oracle.com/javase/8/docs/te
When a message parameter contains an unknown type by the layout, it will
encode by calling `toString()` on these objects.
Most objects don't have garbage-free `toString()` methods.
-Objects themselves can implement their own garbage-free encoders by either
extending from
https://docs.oracle.com/javase/8/docs/api/java/lang/CharSequence.html[Java's
`CharSequence`] or
{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/util/StringBuilderFormattable.html[Log4j's
`StringBuilderFormattable`].
+Objects themselves can implement their own garbage-free encoders by either
extending from
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/CharSequence.html[Java's
`CharSequence`]
+or
+{log4j2-url}/javadoc/log4j-api/org/apache/logging/log4j/util/StringBuilderFormattable.html[Log4j's
`StringBuilderFormattable`].
[#codeImpact]
=== Avoiding autoboxing
diff --git a/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
b/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
index 6709dc94dd..a0c4adc312 100644
--- a/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/layouts.adoc
@@ -42,7 +42,9 @@ We recommend xref:manual/json-template-layout.adoc[] for
structured logging purp
[#charset]
=== Character encoding
-All <<collection,predefined layouts>> produce `String` that eventually get
converted into a `byte` using the
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/charset/Charset.html[`Charset`]
configured.
+All <<collection,predefined layouts>> produce `String` that eventually get
converted into a `byte` using the
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/charset/Charset.html[`Charset`]
+configured.
While doing so, unless an explicit encoding configuration is stated, they use
`UTF-8` by default.
If you want all your log events to be formatted in a certain character
encoding that is different from what the employed layout defaults to, make sure
to configure the layout's character encoding as needed.
@@ -269,8 +271,11 @@ For other valid values, refer to
xref:manual/pattern-layout.adoc#converter-date[
|timezone
|String
|The time zone ID of the log event.
-If not specified, this layout uses the
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getDefault()[`TimeZone.getDefault()`]
as the default.
-You can use time zone IDs supported by
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getTimeZone(java.lang.String)[`TimeZone.getTimeZone(String)`].
+If not specified, this layout uses the
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getDefault()[`TimeZone.getDefault()`]
+as the default.
+You can use time zone IDs supported by
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getTimeZone(java.lang.String)[`TimeZone.getTimeZone(String)`].
|title
|String
diff --git a/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
b/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
index e26fe83a3c..0bb854c8d0 100644
--- a/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/lookups.adoc
@@ -107,7 +107,7 @@ Lookups can choose to react differently depending on the
execution context.
<<DateLookup>> is such an example:
* When used in a global context, it formats the **current** timestamp obtained
through
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#currentTimeMillis--[`System.currentTimeMillis()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#currentTimeMillis()[`System.currentTimeMillis()`].
* When used in the context of an event, it formats the **event** timestamp
obtained through
link:../javadoc/log4j-core/org/apache/logging/log4j/core/LogEvent.html#getTimeMillis()[`LogEvent.getTimeMillis()`].
@@ -147,7 +147,7 @@ using the `${prefix:key}` syntax:
| <<ResourceBundleLookup,`bundle`>>
|
| A Java
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/ResourceBundle.html[resource
bundle]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/ResourceBundle.html[resource
bundle]
| <<ContextMapLookup,`ctx`>>
|
@@ -257,7 +257,7 @@ where:
`baseName`::
the base name of a resource bundle (see
-https://docs.oracle.com/javase/8/docs/api/java/util/ResourceBundle.html[`ResourceBundle`]).
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/ResourceBundle.html[`ResourceBundle`]).
`key`::
the key for the resource string.
@@ -327,7 +327,7 @@ See <<lookups-patterns>> for more information.
| `date:<format>`
where `<format>` is a
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
pattern
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`]
pattern
|===
@@ -336,7 +336,7 @@ The timestamp used depends on the context:
Global context::
When used in a global context, the timestamp used is the current system
timestamp as returned by
-https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#currentTimeMillis--[`System.currentTimeMillis()`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#currentTimeMillis()[`System.currentTimeMillis()`].
Log event context::
When used in the context of a log event, the timestamp of the log event is
used.
@@ -396,7 +396,7 @@ where `<key>` is any `String`
|===
The Environment Lookup retrieves the value of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#getenv-java.lang.String-[OS
environment variable]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#getenv(java.lang.String)[OS
environment variable]
associated with the key.
[#EventLookup]
@@ -510,7 +510,8 @@ The following keys are supported
| Syntax
| `jndi:<name>`
-where `<name>` is a JNDI
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/naming/Name.html[`Name`].
+where `<name>` is a JNDI
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.naming/javax/naming/Name.html[`Name`].
| Dependency | `log4j-jndi`
|===
@@ -796,7 +797,7 @@ where `<prop>` is any `String`
|===
The System Properties Lookup retrieves the value of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/System.html#getProperties--[Java
system property]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/System.html#getProperties()[Java
system property]
associated with the key.
[#UpperLookup]
diff --git a/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
b/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
index ed1aace9bd..a33877fa42 100644
--- a/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/pattern-layout.adoc
@@ -235,7 +235,9 @@ This performs a function similar to <<converter-replace,the
`replace` converter>
It supports following attributes:
-`regex`:: A
https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html[Java-compliant
regular expression] to match the resulting string
+`regex`:: A
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/regex/Pattern.html[Java-compliant
regular expression]
+to match the resulting string
`replacement`:: The string to replace any matched substrings with
@@ -394,7 +396,8 @@ d{pattern}
date{pattern}
----
-The date conversion specifier may be followed by a set of braces containing a
date and time pattern string per
https://docs.oracle.com/javase/8/docs/api/java/text/SimpleDateFormat.html[`SimpleDateFormat`].
+The date conversion specifier may be followed by a set of braces containing a
date and time pattern string per
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/text/SimpleDateFormat.html[`SimpleDateFormat`].
The predefined _named_ formats are:
[%header,cols="2m,3m"]
@@ -448,7 +451,8 @@ The predefined _named_ formats are:
|1351866842781
|===
-You can also use a set of braces containing a time zone id per
https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html#getTimeZone(java.lang.String)[`java.util.TimeZone#getTimeZone(String)`].
+You can also use a set of braces containing a time zone id per
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/TimeZone.html#getTimeZone(java.lang.String)[`java.util.TimeZone#getTimeZone(String)`].
If no date format specifier is given then the `DEFAULT` format is used.
You can also define custom date formats, see following examples:
@@ -481,7 +485,9 @@ While the time unit is milliseconds, the granularity
depends on the platform.
This is an efficient way to output the event time because only a conversion
from `long` to `String` takes place, there is no `Date` formatting involved.
There is also limited support for timestamps more precise than milliseconds
when running on Java 9 or later.
-Note that not all
https://docs.oracle.com/javase/9/docs/api/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`]
formats are supported.
+Note that not all
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/format/DateTimeFormatter.html[`DateTimeFormatter`]
+formats are supported.
Only timestamps in the formats mentioned in the table above may use the
_nano-of-second_ pattern letter `n` instead of the _fraction-of-second_ pattern
letter `S`.
Users may revert to a millisecond-precision clock when running on Java 9 by
setting xref:manual/systemproperties.adoc#log4j2.clock[the `log4j2.clock`
system property] to `SystemMillisClock`.
diff --git a/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
b/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
index 35e424470d..1b9b676897 100644
--- a/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/plugins.adoc
@@ -158,7 +158,7 @@ can be created as well.
`ValidHost`::
This annotation validates that a value corresponds to a valid
hostname. This uses the same validation as
-
http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html#getByName-java.lang.String-[`InetAddress::getByName`].
+
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/InetAddress.html#getByName(java.lang.String)[`InetAddress::getByName`].
`ValidPort`::
This annotation validates that a value corresponds to a valid port
number between 0 and 65535.
@@ -250,8 +250,9 @@ If any extends from `Comparable<TypeConverter<?>>`, it will
be used for determin
== Developer Notes
If a plugin class implements
-http://docs.oracle.com/javase/6/docs/api/java/util/Collection.html[`Collection`]
-or http://docs.oracle.com/javase/6/docs/api/java/util/Map.html[`Map`],
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Collection.html[`Collection`]
+or
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/util/Map.html[`Map`],
then no factory method is used. Instead, the class is instantiated using
the default constructor, and all child configuration nodes are added to
the `Collection` or `Map`.
diff --git a/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
b/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
index 22e040b7a5..99b81bdc51 100644
--- a/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/scripts.adoc
@@ -18,8 +18,9 @@
= Scripts
Log4j provides support for
-https://docs.oracle.com/javase/6/docs/technotes/guides/scripting/[JSR
-223] scripting languages to be used in some of its components.
+// Java 17 does not document JSR 223 any more
+https://docs.oracle.com/en/java/javase/11/scripting/scripting-languages-and-java.html[JSR
223]
+scripting languages to be used in some of its components.
[WARNING]
====
@@ -112,11 +113,11 @@
include::example$manual/configuration/scripts.properties[lines=17..-1]
== A special note on Beanshell
JSR 223 scripting engines are supposed to identify that they support the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/Compilable.html[`Compilable`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/Compilable.html[`Compilable`]
interface if they support compiling their scripts.
Beanshell does extend the `Compilable` interface, but an attempt to compile a
script ends up in an
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/Error.html[`Error`]
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/Error.html[`Error`]
being thrown.
Log4j catches the throwable, but issues a warning in the status logger.
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
index 516a94259e..bbea0ee98b 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-configuration-factory.adoc
@@ -36,7 +36,7 @@ Log4j will attempt to use the provided configuration factory
before any other fa
[cols="1h,5"]
|===
| Env. variable | `LOG4J_CONFIGURATION_LOCATION`
-| Type | Comma-separated list of
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]s
or
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]s
+| Type | Comma-separated list of
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]s
or
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]s
| Default value |
xref:manual/configuration.adoc#AutomaticConfiguration[automatically detected]
|===
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
index 109462dba7..182a2bab9e 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-garbage-collection.adoc
@@ -24,7 +24,9 @@
| Default value | `true`
|===
-If `true`, garbage-aware layouts will directly encode log events into
https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
provided by appenders.
+If `true`, garbage-aware layouts will directly encode log events into
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
+provided by appenders.
This prevents allocating temporary `String` and `char[]` instances.
@@ -39,7 +41,7 @@ This prevents allocating temporary `String` and `char[]`
instances.
|===
The size in bytes of the
-https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
stored in `ThreadLocal` fields by layouts and
link:../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StringBuilderEncoder.html[`StringBuilderEncoder`]s.
@@ -56,7 +58,7 @@ This setting is only used if
<<log4j.gc.enableDirectEncoders>> is set to `true`.
|===
The size in ``char``s of the
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/ByteBuffer.html[`ByteBuffer`]s
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/ByteBuffer.html[`ByteBuffer`]s
stored in `ThreadLocal` fields
link:../javadoc/log4j-core/org/apache/logging/log4j/core/layout/StringBuilderEncoder.html[`StringBuilderEncoder`]s.
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
index 9a5844872c..d1dfa26b5c 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-core-misc.adoc
@@ -31,7 +31,7 @@ implementation used to timestamp log events.
This must be the fully qualified class name of the implementation or one of
these predefined constants:
SystemClock:: uses the best available system clock as time source.
-See
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/time/Clock.html#systemDefaultZone--[`Clock.systemDefaultZone()`]
for details.
+See
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/time/Clock.html#systemDefaultZone()[`Clock.systemDefaultZone()`]
for details.
SystemMillisClock:: same as `SystemClock`, but truncates the result to a
millisecond.
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
index e77e96865f..b2a2974723 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jndi.adoc
@@ -39,7 +39,7 @@ for more details.
| Default value | `false`
|===
-When `true`, a Log4j JDBC Appender can use JNDI to retrieve a
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/sql/DataSource.html[`DataSource`]
using the `java:` protocol.
+When `true`, a Log4j JDBC Appender can use JNDI to retrieve a
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.sql/javax/sql/DataSource.html[`DataSource`]
using the `java:` protocol.
[id=log4j.jndi.enableJms]
== `log4j.jndi.enableJms`
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
index 63b42d93d8..d7949a889b 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-jul.adoc
@@ -44,7 +44,7 @@ This property allows users to choose between two
implementation of the logging b
org.apache.logging.log4j.jul.CoreLoggerAdapter::
The default if `log4j-core` is found in the class path.
-It allows users to modify the Log4j Core configuration through the JUL
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/util/logging/Logger.html[`Logger`]
interface.
+It allows users to modify the Log4j Core configuration through the JUL
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.logging/java/util/logging/Logger.html[`Logger`]
interface.
org.apache.logging.log4j.jul.ApiLoggerAdapter::
The default if `log4j-core` cannot be found in the class path.
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
index e2244262cc..0612d9a433 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-log4j-script.adoc
@@ -20,10 +20,10 @@
[cols="1h,5"]
|===
| Env. variable | `LOG4J_SCRIPT_ENABLE_LANGUAGES`
-| Type | Comma-separated list of
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/ScriptEngine.html[`ScriptEngine`]
names
+| Type | Comma-separated list of
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/ScriptEngine.html[`ScriptEngine`]
names
| Default value | _empty_
|===
The list of script languages that are allowed to execute.
-The names specified must correspond to those returned by
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/script/ScriptEngineFactory.html#getNames--[`ScriptEngineFactory.getNames()`].
+The names specified must correspond to those returned by
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.scripting/javax/script/ScriptEngineFactory.html#getNames()[`ScriptEngineFactory.getNames()`].
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
index 1496fe381e..1a34f7dc27 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-logger-context.adoc
@@ -97,7 +97,8 @@
link:../javadoc/log4j-core/org/apache/logging/log4j/core/util/ShutdownCallbackRe
implementation.
Integrators can use this to customize the shutdown order of the JVM.
-The default implementation executes all shutdown actions in a separate
`Thread` registered through
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/lang/Runtime.html#addShutdownHook-java.lang.Thread-[`Runtime#addShutdownHook()`].
+The default implementation executes all shutdown actions in a separate
`Thread` registered through
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/lang/Runtime.html#addShutdownHook(java.lang.Thread)[`Runtime#addShutdownHook()`].
[id=log4j.loggerContext.stacktraceOnStart]
== `log4j.loggerContext.stacktraceOnStart`
diff --git
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
index bf292c1263..edf1498fb8 100644
---
a/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
+++
b/src/site/antora/modules/ROOT/partials/manual/systemproperties/properties-transport-security.adoc
@@ -22,11 +22,11 @@
[cols="1h,5"]
|===
| Env. variable | `LOG4J_CONFIGURATION_ALLOWED_PROTOCOLS`
-| Type | Comma-separated list of
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URL.html[`URL`]
protocols
+| Type | Comma-separated list of
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URL.html[`URL`]
protocols
| Default value | `file, https, jar`
|===
-A comma separated list of
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URL.html[`URL`]
protocols that may be used to load any kind of configuration source.
+A comma separated list of
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URL.html[`URL`]
protocols that may be used to load any kind of configuration source.
To completely prevent accessing the configuration via the Java `URL` class
specify a value of `_none`.
@@ -41,7 +41,7 @@ NOTE:: Since Log4j does not use `URL` to access `file:`
resources, this protocol
| `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_LOCATION`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
or
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
or
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
| Default value
| see link:{jsse-default-keystores}[Default Java trust store]
@@ -73,7 +73,7 @@ The password for the trust store.
| `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_PASSWORD_FILE`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
| Default value | `null`
|===
@@ -106,10 +106,10 @@ The name of the environment variable that contains
password for the trust store.
| `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_TYPE`
| Type
-|
https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`
type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`
type]
| Default value
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/security/KeyStore.html#getDefaultType--[Default
Java `KeyStore` type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/security/KeyStore.html#getDefaultType()[Default
Java `KeyStore` type]
|===
The type of trust store.
@@ -123,13 +123,13 @@ The type of trust store.
| `LOG4J_TRANSPORT_SECURITY_TRUST_STORE_KEY_MANAGER_FACTORY_ALGORITHM`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
type]
| Default value
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm--[Default
Java `KeyManagerFactory` algorithm]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()[Default
Java `KeyManagerFactory` algorithm]
|===
-Name of the
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
implementation to use for the trust store.
+Name of the
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
implementation to use for the trust store.
[id=log4j.transportSecurity.verifyHostName]
== `log4j.transportSecurity.verifyHostName`
@@ -152,8 +152,8 @@ If `true` enables verification of the name of the TLS
server.
| `LOG4J_TRANSPORT_SECURITY_KEY_STORE_LOCATION`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
or
-https://docs.oracle.com/javase/{java-target-version}/docs/api/java/net/URI.html[`URI`]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
or
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/net/URI.html[`URI`]
| Default value
| see link:{jsse-default-keystores}[Default Java key store]
@@ -179,7 +179,7 @@ The password for the private key store.
[cols="1h,5"]
|===
| Env. variable | `LOG4J_TRANSPORT_SECURITY_KEY_STORE_PASSWORD_FILE`
-| Type |
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/nio/file/Path.html[`Path`]
+| Type |
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/nio/file/Path.html[`Path`]
| Default value | `null`
|===
@@ -206,14 +206,14 @@ The name of the environment variable that contains the
password for the private
| `LOG4J_TRANSPORT_SECURITY_KEY_STORE_TYPE`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`
type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`
type]
| Default value
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/java/security/KeyStore.html#getDefaultType--[Default
Java `KeyStore` type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/java/security/KeyStore.html#getDefaultType()[Default
Java `KeyStore` type]
|===
The type of private key store.
-See
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyStore[`KeyStore`].
+https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keystore-types[`KeyStore`].
[id=log4j.transportSecurity.keyStore.keyManagerFactory.algorithm]
== `log4j.transportSecurity.keyStore.keyManagerFactory.algorithm`
@@ -224,11 +224,11 @@ See
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/s
| `LOG4J_TRANSPORT_SECURITY_KEY_STORE_KEY_MANAGER_FACTORY_ALGORITHM`
| Type
-|
https://docs.oracle.com/javase/{java-target-version}/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
type]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
type]
| Default value
-|
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm--[Default
Java `KeyManagerFactory` algorithm]
+|
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html#getDefaultAlgorithm()[Default
Java `KeyManagerFactory` algorithm]
|===
-Name of the
https://docs.oracle.com/javase/{java-target-version}/docs/api/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
implementation to use for the private key store.
-See
https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyManagerFactory[`KeyManagerFactory`
types].
+Name of the
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/api/java.base/javax/net/ssl/KeyManagerFactory.html[`KeyManagerFactory`]
implementation to use for the private key store.
+See
https://docs.oracle.com/en/java/javase/{java-target-version}/docs/specs/security/standard-names.html#keymanagerfactory-algorithms[`KeyManagerFactory`
types].