diff --git a/log4j-1.2-api/.log4j-plugin-processing-activator b/log4j-1.2-api/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-1.2-api/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-1.2-api/pom.xml b/log4j-1.2-api/pom.xml index 58c18dd5bcd..b9f286d49a7 100644 --- a/log4j-1.2-api/pom.xml +++ b/log4j-1.2-api/pom.xml @@ -16,17 +16,21 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-1.2-api - jar + Apache Log4j 1.x Compatibility API The Apache Log4j 1.x Compatibility API + org.apache.log4j @@ -45,6 +49,7 @@ org.apache.logging.log4j.core + @@ -138,27 +143,6 @@ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - - - diff --git a/log4j-api/pom.xml b/log4j-api/pom.xml index 853ebe4d4aa..d6910eed11e 100644 --- a/log4j-api/pom.xml +++ b/log4j-api/pom.xml @@ -28,7 +28,7 @@ Apache Log4j API The Apache Log4j API - false + false + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-cassandra + Apache Log4j Cassandra Cassandra appender for Log4j. + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-core-java9/pom.xml b/log4j-core-java9/pom.xml index 6b6c0e0b253..2cb3c3d07a2 100644 --- a/log4j-core-java9/pom.xml +++ b/log4j-core-java9/pom.xml @@ -30,6 +30,7 @@ 9 true + true diff --git a/log4j-core-test/.log4j-plugin-processing-activator b/log4j-core-test/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-core-test/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-core-test/pom.xml b/log4j-core-test/pom.xml index 1155ed9989b..ac718f0e72b 100644 --- a/log4j-core-test/pom.xml +++ b/log4j-core-test/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,9 +27,10 @@ log4j-core-test - jar + Apache Log4j Core Tests The Apache Log4j Implementation Tests + 9 @@ -351,21 +354,6 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/log4j-core-test/src/main/resources/Log4j-config.xsd b/log4j-core-test/src/main/resources/Log4j-config.xsd deleted file mode 100644 index a5ae2d28a52..00000000000 --- a/log4j-core-test/src/main/resources/Log4j-config.xsd +++ /dev/null @@ -1,1405 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Advertiser plugin name which will be used to advertise individual FileAppender or SocketAppender configurations. The only - Advertiser plugin provided is 'multicastdns". - - - - - - Either "err" for stderr, "out" for stdout, a file path, or a URL. - - - - - The minimum amount of time, in seconds, that must elapse before the file configuration is checked for changes. - - - - - The name of the configuration. - - - - - A comma separated list of package names to search for plugins. Plugins are only loaded once per classloader so changing this value - may not have any effect upon reconfiguration. - - - - - - Identifies the location for the classloader to located the XML Schema to use to validate the configuration. Only valid when strict - is set to true. If not set no schema validation will take place. - - - - - - Specifies whether or not Log4j should automatically shutdown when the JVM shuts down. The shutdown hook is enabled by default but - may be disabled by setting this attribute to "disable". - - - - - - - - - - - Specifies how many milliseconds appenders and background tasks will get to shutdown when the JVM shuts down. Default is zero which - mean that each appender uses its default timeout, and don't wait for background tasks. - - - - - - The level of internal Log4j events that should be logged to the console. Valid values for this attribute are "trace", "debug", - "info", "warn", "error" and "fatal". - - - - - - - - - - - Enables the use of the strict XML format. Not supported in JSON configurations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Action to take when the filter matches. May be ACCEPT, DENY or NEUTRAL. - - - - - Action to take when the filter does not match. May be ACCEPT, DENY or NEUTRAL. - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define the matching value for the key and the Level to evaluate when the key matches. - - - - - - - - - - - - - - The average number of events per second to allow. - - - - - The maximum number of events that can occur before events are filtered for exceeding the average rate. The default is 10 times - the rate. - - - - - - Level of messages to be filtered. Anything at or below this level will be filtered out if maxBurst has been exceeded. The - default is WARN meaning any messages that are higher than warn will be logged regardless of the size of a burst. - - - - - - - - - - - - - - - - The filter type, see https://logging.apache.org/log4j/2.x/manual/filters.html - - - - - - - - - - - - - The name of the item in the ThreadContext Map to compare. - - - - - - Level of messages to be filtered. The default threshold only applies if the log event contains the specified ThreadContext Map - item and its value does not match any key in the key/value pairs. - - - - - - - - - - - - - - The location of the configuration for the filter. - - - - - - - The frequency in seconds that the configuration file should be checked for modifications. - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - - - - - - - - - - - - - - - The regular expression. - - - - - If true the unformatted message will be used, otherwise the formatted message will be used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - A valid Level name to match on. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If true exceptions are always written even if the pattern contains no exception conversions. - - - - - The character set to use when converting the syslog String to a byte array. - - - - - If true, do not output ANSI escape codes. - - - - - Footer string to include at the bottom of each log file. - - - - - Header string to include at the top of each log file. - - - - - If true and System.console() is null, do not output ANSI escape codes. - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define custom field in the output. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define custom field in the output. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The name of the appender. - - - - - - The default is true, causing exceptions encountered while appending events to be internally logged and then ignored. - When set to false - exceptions will be propagated to the caller, instead. - You must set this to false when wrapping this Appender in a FailoverAppender. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Write directly to java.io.FileDescriptor and bypass java.lang.System.out/.err. Can give up to 10x performance boost when the - output is redirected to file or other process. Cannot be used with Jansi on Windows. Cannot be used with follow. - - - - - - - Identifies whether the appender honors reassignments of System.out or System.err via System.setOut or System.setErr made after - configuration. Note that the follow attribute cannot be used with Jansi on Windows. Cannot be used with direct. - - - - - - Default is SYSTEM_OUT. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define the matching value for the key and the Level to evaluate when the - key - matches. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - When true, records will be appended to the end of the file. - When set to false, the file will be cleared before new records are - written. - - - - - - - - - The name of the file to write to. If the file, or any of its parent directories, do not exist, they will be created. - - - - - - - When set to true, each write will be followed by a flush. - This will guarantee that the data is passed to the operating system for writing; - it does not guarantee that the data is actually written to a physical device - such as a disk drive. - - - - - - - - - - - - - - - When true, records will be written to a buffer and the data will be written to disk when the buffer is full or, if - immediateFlush is set, when the record is written. - File locking cannot be used with bufferedIO. - - - - - - When bufferedIO is true, this is the buffer size, the default is 8192 bytes. - - - - - - - - - - - - - - The appender creates the file on-demand. The appender only creates the file when a log event passes all filters and is routed - to this appender. - - - - - - - File attribute permissions in POSIX format to apply whenever the file is created. - Underlying files system shall support POSIX - file attribute view. - - - - - - - File owner to define whenever the file is created. - Underlying files system shall support POSIX file attribute view. - - - - - - - File group to define whenever the file is created. - Underlying files system shall support POSIX file attribute view. - - - - - - - - - - - - - - The length of the mapped region, defaults to 32 MB (32 * 1024 * 1024 bytes). This parameter must be a value between 256 and - 1,073,741,824 (1 GB or 2^30); values outside this range will be adjusted to the closest valid value. Log4j will round the specified value - up to the nearest power of two. - - - - - - - - - - - - - - - - - - - - - - The pattern of the file name of the archived log file. - The format of the pattern is dependent on the RolloverPolicy that is - used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The cron expression. The expression is the same as what is allowed in the Quartz scheduler. - - - - - - On startup the cron expression will be evaluated against the file's last modification timestamp. If the cron expression indicates a - rollover should have occurred between that time and the current time the file will be immediately rolled over. - - - - - - - - - - The minimum size the file must have to roll over. A size of zero will cause a roll over no matter what the file size is. The default - value is 1, which will prevent rolling over an empty file. - - - - - - - - - - The size can be specified in bytes, with the suffix KB, MB or GB, for example 20MB. - - - - - - - - - - How often a rollover should occur based on the most specific time unit in the date pattern. - - - - - - - Indicates whether the interval should be adjusted to cause the next rollover to occur on the interval boundary. - - - - - - - Indicates the maximum number of seconds to randomly delay a rollover. By default, this is 0 which indicates no delay. - - - - - - - - - - - - - - - Sets the compression level, 0-9, where 0 = none, 1 = best speed, through 9 = best compression. Only implemented for ZIP files. - - - - - - - If set to "max", files with a higher index will be newer than files with a smaller index. - If set to "min", file renaming and the - counter will follow the Fixed Window strategy described above. - - - - - - - - - - - - - - The maximum value of the counter. Once this values is reached older archives will be deleted on subsequent rollovers. - - - - - - The minimum value of the counter. - - - - - - The pattern of the file name of the archived log file during compression. - - - - - - - - - - - - Sets the compression level, 0-9, where 0 = none, 1 = best speed, through 9 = best compression. Only implemented for ZIP files. - - - - - - - The maximum number of files to allow in the time period matching the file pattern. If the number of files is exceeded the oldest file - will be deleted. If specified, the value must be greater than 1. If the value is less than zero or omitted then the number of files will not be - limited. - - - - - - The pattern of the file name of the archived log file during compression. - - - - - Defines whether to stop executing asynchronous actions if an error occurs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allow boolean values or variable place holders in the form of ${variablename} - - - - - - - - - Allow long values or variable place holders in the form of ${variablename} - - - - - - - diff --git a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlSchemaTest.java b/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlSchemaTest.java deleted file mode 100644 index 685f4bd7bc1..00000000000 --- a/log4j-core-test/src/test/java/org/apache/logging/log4j/core/config/xml/XmlSchemaTest.java +++ /dev/null @@ -1,103 +0,0 @@ -/* - * 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. - */ -package org.apache.logging.log4j.core.config.xml; - -import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.List; -import java.util.stream.Stream; -import javax.xml.XMLConstants; -import javax.xml.transform.sax.SAXSource; -import javax.xml.transform.stream.StreamSource; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; -import javax.xml.validation.Validator; -import org.junit.jupiter.params.ParameterizedTest; -import org.junit.jupiter.params.provider.MethodSource; -import org.xml.sax.Attributes; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; -import org.xml.sax.helpers.XMLFilterImpl; -import org.xml.sax.helpers.XMLReaderFactory; - -public class XmlSchemaTest { - - private static final String TARGET_NAMESPACE = "http://logging.apache.org/log4j/2.0/config"; - - private static final List IGNORE_CONFIGS = Arrays.asList( // - "log4j2-arbiters.xml", // Arbiters violate XML schema as they can appear anywhere - "log4j2-environmentArbiters.xml", - "log4j2-scriptArbiters.xml", - "log4j2-systemPropertyArbiters.xml", - "log4j2-selectArbiters.xml", - "log4j-core-gctests/src/test/resources/gcFreeLogging.xml", // has 2 tags defined - "legacy-plugins.xml", // - "logback", // logback configs - "log4j-xinclude", // - "log4j12", // log4j 1.x configs - "perf-CountingNoOpAppender.xml", // uses test-appender CountingNoOp - "reconfiguration-deadlock.xml", // uses test-appender ReconfigurationDeadlockTestAppender - "AsyncWaitStrategy", // uses AsyncWaitStrategyFactory (LOG4J2-3472) - "XmlConfigurationSecurity.xml", // used for testing XML parser; shouldn't be parseable in secure settings - "InvalidConfig.xml", - "InvalidXML.xml"); - - static Stream testXmlSchemaValidation() throws IOException { - return Files.list(Paths.get("src", "test", "resources")).filter(filePath -> { - final String fileName = filePath.getFileName().toString(); - if (!fileName.endsWith(".xml")) return false; - for (final String ignore : IGNORE_CONFIGS) { - if (fileName.contains(ignore)) return false; - } - return true; - }); - } - - @ParameterizedTest - @MethodSource - public void testXmlSchemaValidation(final Path filePath) throws SAXException, IOException { - final SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - final Schema schema = factory.newSchema(new StreamSource(getClass().getResourceAsStream("/Log4j-config.xsd"))); - final Validator validator = schema.newValidator(); - - final XMLFilterImpl namespaceAdder = new XMLFilterImpl(XMLReaderFactory.createXMLReader()) { - @Override - public void startElement( - final String namespace, final String localName, final String qName, final Attributes atts) - throws SAXException { - super.startElement(TARGET_NAMESPACE, localName, qName, atts); - } - }; - - final InputSource source = new InputSource(filePath.toAbsolutePath().toString()); - final SAXSource transformedSource = new SAXSource(namespaceAdder, source); - assertDoesNotThrow(() -> { - try { - validator.validate(transformedSource); - } catch (SAXParseException e) { - // Wrap the exception to capture the location - throw new RuntimeException(e.toString(), e); - } - }); - } -} diff --git a/log4j-core/pom.xml b/log4j-core/pom.xml index 4fa7392c89b..0f9429a41e4 100644 --- a/log4j-core/pom.xml +++ b/log4j-core/pom.xml @@ -16,19 +16,27 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-core - jar + Apache Log4j Core The Apache Log4j Implementation + - false + + false + + + true org.codehaus.mojo build-helper-maven-plugin @@ -222,40 +233,68 @@ + maven-compiler-plugin - - - + + - default-compile - - - - com.google.errorprone - error_prone_core - ${error-prone.version} - - - + + - process-plugins compile process-classes + + + + org.apache.logging.log4j + log4j-docgen + ${log4j-docgen.version} + + + + org.apache.logging.log4j + log4j-core + ${project.version} + + + + org.apache.logging.log4j.docgen.processor.DescriptorGenerator + org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor - + + + -Alog4j.docgen.descriptorFilePath=${log4j.docgen.pluginDescriptorsDir.phase1}/${project.artifactId}-plugins.xml + -Alog4j.docgen.groupId=${project.groupId} + -Alog4j.docgen.artifactId=${project.artifactId} + -Alog4j.docgen.version=${project.version} + -Alog4j.docgen.description=${project.description} + -Alog4j.docgen.typeFilter.excludePattern=${log4j.docgen.typeFilter.excludePattern} + only + @@ -291,4 +330,5 @@ + diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java index 87e439a5f2a..3519980c2ad 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/ScriptCondition.java @@ -89,8 +89,8 @@ public List selectFilesToDelete( *
  • pathList - a {@code java.util.List} containing {@link org.apache.logging.log4j.core.appender.rolling.action.PathWithAttributes} objects. (The script is * free to modify and return this list.)
  • *
  • substitutor - a {@link org.apache.logging.log4j.core.lookup.StrSubstitutor} that can be used to look up variables embedded in the base - * dir or other properties - *
  • statusLogger - the {@link StatusLogger} that can be used to log events during script execution + * dir or other properties
  • + *
  • statusLogger - the {@link StatusLogger} that can be used to log events during script execution
  • *
  • any properties declared in the configuration
  • * * @param configuration the configuration diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java index 6f6d2f1233c..48502de22e5 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/xml/XmlConfiguration.java @@ -62,7 +62,6 @@ public class XmlConfiguration extends AbstractConfiguration implements Reconfigu private static final String XINCLUDE_FIXUP_LANGUAGE = "http://apache.org/xml/features/xinclude/fixup-language"; private static final String XINCLUDE_FIXUP_BASE_URIS = "http://apache.org/xml/features/xinclude/fixup-base-uris"; - private static final String LOG4J_XSD = "Log4j-config.xsd"; private final List status = new ArrayList<>(); private Element rootElement; @@ -142,7 +141,7 @@ public XmlConfiguration(final LoggerContext loggerContext, final ConfigurationSo try (final InputStream is = Loader.getResourceAsStream(schemaResource, XmlConfiguration.class.getClassLoader())) { if (is != null) { - final javax.xml.transform.Source src = new StreamSource(is, LOG4J_XSD); + final javax.xml.transform.Source src = new StreamSource(is, schemaResource); final SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schema = null; try { diff --git a/log4j-core/src/main/resources/Log4j-config.xsd b/log4j-core/src/main/resources/Log4j-config.xsd deleted file mode 100644 index a5ae2d28a52..00000000000 --- a/log4j-core/src/main/resources/Log4j-config.xsd +++ /dev/null @@ -1,1405 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Advertiser plugin name which will be used to advertise individual FileAppender or SocketAppender configurations. The only - Advertiser plugin provided is 'multicastdns". - - - - - - Either "err" for stderr, "out" for stdout, a file path, or a URL. - - - - - The minimum amount of time, in seconds, that must elapse before the file configuration is checked for changes. - - - - - The name of the configuration. - - - - - A comma separated list of package names to search for plugins. Plugins are only loaded once per classloader so changing this value - may not have any effect upon reconfiguration. - - - - - - Identifies the location for the classloader to located the XML Schema to use to validate the configuration. Only valid when strict - is set to true. If not set no schema validation will take place. - - - - - - Specifies whether or not Log4j should automatically shutdown when the JVM shuts down. The shutdown hook is enabled by default but - may be disabled by setting this attribute to "disable". - - - - - - - - - - - Specifies how many milliseconds appenders and background tasks will get to shutdown when the JVM shuts down. Default is zero which - mean that each appender uses its default timeout, and don't wait for background tasks. - - - - - - The level of internal Log4j events that should be logged to the console. Valid values for this attribute are "trace", "debug", - "info", "warn", "error" and "fatal". - - - - - - - - - - - Enables the use of the strict XML format. Not supported in JSON configurations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Action to take when the filter matches. May be ACCEPT, DENY or NEUTRAL. - - - - - Action to take when the filter does not match. May be ACCEPT, DENY or NEUTRAL. - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define the matching value for the key and the Level to evaluate when the key matches. - - - - - - - - - - - - - - The average number of events per second to allow. - - - - - The maximum number of events that can occur before events are filtered for exceeding the average rate. The default is 10 times - the rate. - - - - - - Level of messages to be filtered. Anything at or below this level will be filtered out if maxBurst has been exceeded. The - default is WARN meaning any messages that are higher than warn will be logged regardless of the size of a burst. - - - - - - - - - - - - - - - - The filter type, see https://logging.apache.org/log4j/2.x/manual/filters.html - - - - - - - - - - - - - The name of the item in the ThreadContext Map to compare. - - - - - - Level of messages to be filtered. The default threshold only applies if the log event contains the specified ThreadContext Map - item and its value does not match any key in the key/value pairs. - - - - - - - - - - - - - - The location of the configuration for the filter. - - - - - - - The frequency in seconds that the configuration file should be checked for modifications. - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - - - - - - - - - - - - - - - The regular expression. - - - - - If true the unformatted message will be used, otherwise the formatted message will be used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If the operator is "or" then a match by any one of the key/value pairs will be considered to be a match, otherwise all the - key/value pairs must match. - - - - - - - - - - - - - A valid Level name to match on. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If true exceptions are always written even if the pattern contains no exception conversions. - - - - - The character set to use when converting the syslog String to a byte array. - - - - - If true, do not output ANSI escape codes. - - - - - Footer string to include at the bottom of each log file. - - - - - Header string to include at the top of each log file. - - - - - If true and System.console() is null, do not output ANSI escape codes. - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define custom field in the output. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define custom field in the output. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The name of the appender. - - - - - - The default is true, causing exceptions encountered while appending events to be internally logged and then ignored. - When set to false - exceptions will be propagated to the caller, instead. - You must set this to false when wrapping this Appender in a FailoverAppender. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Write directly to java.io.FileDescriptor and bypass java.lang.System.out/.err. Can give up to 10x performance boost when the - output is redirected to file or other process. Cannot be used with Jansi on Windows. Cannot be used with follow. - - - - - - - Identifies whether the appender honors reassignments of System.out or System.err via System.setOut or System.setErr made after - configuration. Note that the follow attribute cannot be used with Jansi on Windows. Cannot be used with direct. - - - - - - Default is SYSTEM_OUT. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - One or more KeyValuePair elements that define the matching value for the key and the Level to evaluate when the - key - matches. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - When true, records will be appended to the end of the file. - When set to false, the file will be cleared before new records are - written. - - - - - - - - - The name of the file to write to. If the file, or any of its parent directories, do not exist, they will be created. - - - - - - - When set to true, each write will be followed by a flush. - This will guarantee that the data is passed to the operating system for writing; - it does not guarantee that the data is actually written to a physical device - such as a disk drive. - - - - - - - - - - - - - - - When true, records will be written to a buffer and the data will be written to disk when the buffer is full or, if - immediateFlush is set, when the record is written. - File locking cannot be used with bufferedIO. - - - - - - When bufferedIO is true, this is the buffer size, the default is 8192 bytes. - - - - - - - - - - - - - - The appender creates the file on-demand. The appender only creates the file when a log event passes all filters and is routed - to this appender. - - - - - - - File attribute permissions in POSIX format to apply whenever the file is created. - Underlying files system shall support POSIX - file attribute view. - - - - - - - File owner to define whenever the file is created. - Underlying files system shall support POSIX file attribute view. - - - - - - - File group to define whenever the file is created. - Underlying files system shall support POSIX file attribute view. - - - - - - - - - - - - - - The length of the mapped region, defaults to 32 MB (32 * 1024 * 1024 bytes). This parameter must be a value between 256 and - 1,073,741,824 (1 GB or 2^30); values outside this range will be adjusted to the closest valid value. Log4j will round the specified value - up to the nearest power of two. - - - - - - - - - - - - - - - - - - - - - - The pattern of the file name of the archived log file. - The format of the pattern is dependent on the RolloverPolicy that is - used. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The cron expression. The expression is the same as what is allowed in the Quartz scheduler. - - - - - - On startup the cron expression will be evaluated against the file's last modification timestamp. If the cron expression indicates a - rollover should have occurred between that time and the current time the file will be immediately rolled over. - - - - - - - - - - The minimum size the file must have to roll over. A size of zero will cause a roll over no matter what the file size is. The default - value is 1, which will prevent rolling over an empty file. - - - - - - - - - - The size can be specified in bytes, with the suffix KB, MB or GB, for example 20MB. - - - - - - - - - - How often a rollover should occur based on the most specific time unit in the date pattern. - - - - - - - Indicates whether the interval should be adjusted to cause the next rollover to occur on the interval boundary. - - - - - - - Indicates the maximum number of seconds to randomly delay a rollover. By default, this is 0 which indicates no delay. - - - - - - - - - - - - - - - Sets the compression level, 0-9, where 0 = none, 1 = best speed, through 9 = best compression. Only implemented for ZIP files. - - - - - - - If set to "max", files with a higher index will be newer than files with a smaller index. - If set to "min", file renaming and the - counter will follow the Fixed Window strategy described above. - - - - - - - - - - - - - - The maximum value of the counter. Once this values is reached older archives will be deleted on subsequent rollovers. - - - - - - The minimum value of the counter. - - - - - - The pattern of the file name of the archived log file during compression. - - - - - - - - - - - - Sets the compression level, 0-9, where 0 = none, 1 = best speed, through 9 = best compression. Only implemented for ZIP files. - - - - - - - The maximum number of files to allow in the time period matching the file pattern. If the number of files is exceeded the oldest file - will be deleted. If specified, the value must be greater than 1. If the value is less than zero or omitted then the number of files will not be - limited. - - - - - - The pattern of the file name of the archived log file during compression. - - - - - Defines whether to stop executing asynchronous actions if an error occurs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allow boolean values or variable place holders in the form of ${variablename} - - - - - - - - - Allow long values or variable place holders in the form of ${variablename} - - - - - - - diff --git a/log4j-couchdb/.log4j-plugin-processing-activator b/log4j-couchdb/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-couchdb/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-couchdb/pom.xml b/log4j-couchdb/pom.xml index ac65c693e02..63ce30aaf4d 100644 --- a/log4j-couchdb/pom.xml +++ b/log4j-couchdb/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-couchdb + Apache Log4j CouchDB CouchDB appender for Log4j. + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-docker/.log4j-plugin-processing-activator b/log4j-docker/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-docker/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-docker/pom.xml b/log4j-docker/pom.xml index 7682421d2b6..2b6bb357dc1 100644 --- a/log4j-docker/pom.xml +++ b/log4j-docker/pom.xml @@ -16,17 +16,21 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-docker - jar + Apache Log4j Docker Library Apache Log4j Docker Support + org.apache.logging.log4j.core + org.apache.logging.log4j @@ -63,29 +68,4 @@ - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - - - diff --git a/log4j-flume-ng/.log4j-plugin-processing-activator b/log4j-flume-ng/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-flume-ng/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-flume-ng/pom.xml b/log4j-flume-ng/pom.xml index c3bffe0ec5c..6af2f7c517b 100644 --- a/log4j-flume-ng/pom.xml +++ b/log4j-flume-ng/pom.xml @@ -16,17 +16,21 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-flume-ng - jar + Apache Log4j Flume Bridge The Apache Log4j Flume Appender + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-jakarta-web/.log4j-plugin-processing-activator b/log4j-jakarta-web/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-jakarta-web/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-jakarta-web/pom.xml b/log4j-jakarta-web/pom.xml index a3f81e51469..f3434f9f855 100644 --- a/log4j-jakarta-web/pom.xml +++ b/log4j-jakarta-web/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,7 +27,7 @@ log4j-jakarta-web - jar + Apache Log4j Jakarta Web The Apache Log4j support for Jakarta EE 9+ web servlet containers @@ -79,26 +81,4 @@
    - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - -
    diff --git a/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator b/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-jdbc-dbcp2/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-jdbc-dbcp2/pom.xml b/log4j-jdbc-dbcp2/pom.xml index 50196e3cc96..95522b7c1fc 100644 --- a/log4j-jdbc-dbcp2/pom.xml +++ b/log4j-jdbc-dbcp2/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-jdbc-dbcp2 + Apache Log4j JDBC DBCP 2 Connection source for the JDBC Appender using Apache Commons DBCP2. + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-jpa/.log4j-plugin-processing-activator b/log4j-jpa/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-jpa/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-jpa/pom.xml b/log4j-jpa/pom.xml index e90cd50e2a2..b2c873b12a9 100644 --- a/log4j-jpa/pom.xml +++ b/log4j-jpa/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-jpa + Apache Log4j JPA Apache Log4j Java Persistence API Appender. + - - org.apache.maven.plugins - maven-compiler-plugin - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - - - diff --git a/log4j-kubernetes/pom.xml b/log4j-kubernetes/pom.xml index 47313c6b12c..359f9ef4833 100644 --- a/log4j-kubernetes/pom.xml +++ b/log4j-kubernetes/pom.xml @@ -16,17 +16,21 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-kubernetes - jar + Apache Log4j Kubernetes Library Apache Log4j Kubernetes Support + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-layout-template-json-test/.log4j-plugin-processing-activator b/log4j-layout-template-json-test/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-layout-template-json-test/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-layout-template-json-test/pom.xml b/log4j-layout-template-json-test/pom.xml index 30b1dac1f84..ed7b188b135 100644 --- a/log4j-layout-template-json-test/pom.xml +++ b/log4j-layout-template-json-test/pom.xml @@ -27,10 +27,12 @@ log4j-layout-template-json-test + Apache Log4j JSON Template Layout tests + true true true @@ -126,21 +128,6 @@ - - - org.apache.maven.plugins - maven-compiler-plugin - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - org.apache.maven.plugins diff --git a/log4j-layout-template-json/.log4j-plugin-processing-activator b/log4j-layout-template-json/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-layout-template-json/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-layout-template-json/pom.xml b/log4j-layout-template-json/pom.xml index 369d38d7ffe..9b1351fae3f 100644 --- a/log4j-layout-template-json/pom.xml +++ b/log4j-layout-template-json/pom.xml @@ -27,6 +27,7 @@ log4j-layout-template-json + Apache Log4j JSON Template Layout Apache Log4j Layout for producing JSON output that is structured according to a user-provided template. @@ -63,43 +64,4 @@ - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - - - org.apache.maven.plugins - maven-failsafe-plugin - - true - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - - - diff --git a/log4j-mongodb3/.log4j-plugin-processing-activator b/log4j-mongodb3/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-mongodb3/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-mongodb3/pom.xml b/log4j-mongodb3/pom.xml index 94fd94dc3ef..e5e285b0176 100644 --- a/log4j-mongodb3/pom.xml +++ b/log4j-mongodb3/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-mongodb3 + Apache Log4j MongoDB 3 MongoDB appender for Log4j using the MongoDB 3 driver API. + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/log4j-mongodb4/.log4j-plugin-processing-activator b/log4j-mongodb4/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-mongodb4/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-mongodb4/pom.xml b/log4j-mongodb4/pom.xml index 098f1f76af6..da17281813a 100644 --- a/log4j-mongodb4/pom.xml +++ b/log4j-mongodb4/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,8 +27,10 @@ log4j-mongodb4 + Apache Log4j MongoDB 4 MongoDB appender for Log4j using the MongoDB 4 driver API. + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - org.apache.maven.plugins maven-surefire-plugin diff --git a/log4j-osgi-test/.log4j-plugin-processing-activator b/log4j-osgi-test/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-osgi-test/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-osgi-test/pom.xml b/log4j-osgi-test/pom.xml index 7f8b52961e9..19dcd37e657 100644 --- a/log4j-osgi-test/pom.xml +++ b/log4j-osgi-test/pom.xml @@ -16,17 +16,21 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-osgi-test - jar + Apache Log4j OSGi tests The Apache Log4j OSGi tests + org.apache.logging.log4j.osgi true @@ -37,6 +41,7 @@ true 1.3.7 + javax.inject @@ -135,7 +140,9 @@ test + + @@ -143,6 +150,7 @@ src/test/resources + - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - org.apache.maven.plugins maven-resources-plugin diff --git a/log4j-parent/pom.xml b/log4j-parent/pom.xml index 0cc56ff1b76..1255a8c74fe 100644 --- a/log4j-parent/pom.xml +++ b/log4j-parent/pom.xml @@ -1189,4 +1189,62 @@ + + + + + + plugin-processing + + + + + .log4j-plugin-processing-activator + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + + + org.apache.logging.log4j + log4j-docgen + ${log4j-docgen.version} + + + + org.apache.logging.log4j + log4j-core + ${project.version} + + + + + -Alog4j.docgen.descriptorFilePath=${log4j.docgen.pluginDescriptorsDir.phase2}/${project.artifactId}-plugins.xml + -Alog4j.docgen.groupId=${project.groupId} + -Alog4j.docgen.artifactId=${project.artifactId} + -Alog4j.docgen.version=${project.version} + -Alog4j.docgen.description=${project.description} + -Alog4j.docgen.typeFilter.excludePattern=${log4j.docgen.typeFilter.excludePattern} + + + + + + + + + + + diff --git a/log4j-spring-boot/.log4j-plugin-processing-activator b/log4j-spring-boot/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-spring-boot/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-spring-boot/pom.xml b/log4j-spring-boot/pom.xml index 342489bbb48..08d2aaf3ba7 100644 --- a/log4j-spring-boot/pom.xml +++ b/log4j-spring-boot/pom.xml @@ -16,19 +16,22 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j ${revision} ../log4j-parent + log4j-spring-boot - jar + Apache Log4j Spring Boot Support Apache Log4j Spring Boot Support - + @@ -120,26 +123,4 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - diff --git a/log4j-web/.log4j-plugin-processing-activator b/log4j-web/.log4j-plugin-processing-activator new file mode 100644 index 00000000000..ba133f36961 --- /dev/null +++ b/log4j-web/.log4j-plugin-processing-activator @@ -0,0 +1 @@ +This file is here to activate the `plugin-processing` Maven profile. diff --git a/log4j-web/pom.xml b/log4j-web/pom.xml index 287cd9a5838..aa8b482ef90 100644 --- a/log4j-web/pom.xml +++ b/log4j-web/pom.xml @@ -16,7 +16,9 @@ ~ limitations under the License. --> + 4.0.0 + org.apache.logging.log4j log4j @@ -25,7 +27,7 @@ log4j-web - jar + Apache Log4j Web The Apache Log4j support for web servlet containers @@ -88,27 +90,4 @@ - - - - org.apache.maven.plugins - maven-compiler-plugin - - - - - org.apache.logging.log4j - log4j-core - ${project.version} - - - - - - - diff --git a/pom.xml b/pom.xml index f4baeb62d7f..c47ce793938 100644 --- a/pom.xml +++ b/pom.xml @@ -325,14 +325,28 @@ ======================== --> - all,-missing,-html - true - + We also don't generate Javadoc HTML for all modules, but only for two modules: `log4j-api` and `log4j-core`. + Hence, we disable it by default: --> + true + all,-missing,-html + true true + + 0.8.0 + + + + ^java\..+ + + ${maven.multiModuleProjectDirectory}/target/plugin-descriptors/phase1 + ${maven.multiModuleProjectDirectory}/target/plugin-descriptors/phase2 + @@ -569,6 +583,7 @@ **/rabbitmq.config **/MANIFEST.MF .surefire-* + **/.log4j-* @@ -627,12 +642,12 @@ pre-site true - ${javadoc.skip} + ${maven.javadoc.skip} true Copyright © {inceptionYear}-{currentYear} {organizationName}. @@ -648,6 +663,7 @@ org.apache.maven.plugins maven-resources-plugin + copy-site @@ -691,6 +708,7 @@ + copy-javadoc @@ -699,10 +717,10 @@ site - ${javadoc.skip} + ${maven.javadoc.skip} ${maven.multiModuleProjectDirectory}/target/site/javadoc/${project.artifactId} @@ -732,18 +750,119 @@ + + + + + + + org.apache.logging.log4j + log4j-docgen-maven-plugin + ${log4j-docgen.version} + false + + + + + + + + ${log4j.docgen.pluginDescriptorsDir.phase1} + + + ${log4j.docgen.pluginDescriptorsDir.phase2} + + + + + + ${log4j.docgen.typeFilter.excludePattern} + + + + + + + + + + generate-plugin-docs + + generate-documentation + + pre-site + + ${project.basedir}/src/template/docgen + + index.adoc.ftl + ${project.build.directory}/generated-sources/site/asciidoc/plugin-reference.adoc + + + type.adoc.ftl + ${project.build.directory}/generated-sources/site/asciidoc/_plugin-reference/%g-%a-%c.adoc + + + + + + + generate-plugin-schema + + generate-schema + + pre-site + + ${project.version} + ${project.build.directory}/log4j-config.xsd + + + + org.asciidoctor asciidoctor-maven-plugin + + 3.0.0 + false io.spring.asciidoctor spring-asciidoctor-extensions-block-switch 0.6.3 + + + org.asciidoctor + asciidoctorj + 3.0.0-alpha.2 + + + org.apache.logging.log4j + log4j-docgen-asciidoctor-extension + ${log4j-docgen.version} + @@ -758,11 +877,14 @@ target/site true - src/asciidoc/templates + src/template/asciidoctor rouge left + ${project.build.directory}/plugin-descriptors + ${log4j.docgen.typeFilter.excludePattern} + @@ -781,16 +903,6 @@ - - java8-doclint-disabled - - [1.8,) - - - ${javadoc.doclint} - - - java8-tests diff --git a/src/changelog/.2.x.x/add_plugin_reference.xml b/src/changelog/.2.x.x/add_plugin_reference.xml new file mode 100644 index 00000000000..47618da7334 --- /dev/null +++ b/src/changelog/.2.x.x/add_plugin_reference.xml @@ -0,0 +1,9 @@ + + + + Add _"Plugin Reference"_ to the website. +It is a Javadoc-on-steroids focusing on Log4j plugins. + diff --git a/src/site/_release-notes/_2.x.x.adoc b/src/site/_release-notes/_2.x.x.adoc index 77de8433c84..2fefededaf8 100644 --- a/src/site/_release-notes/_2.x.x.adoc +++ b/src/site/_release-notes/_2.x.x.adoc @@ -27,6 +27,18 @@ This releases contains ... === Added * Add a faster `ThreadContextMap` for web app users: `org.apache.logging.log4j.internal.map.StringArrayThreadContextMap`. (https://github.com/apache/logging-log4j2/pull/2330[2330]) +* Add _"Plugin Reference"_ to the website. It is a Javadoc-on-steroids focusing on Log4j plugins. (https://github.com/apache/logging-log4j2/issues/1954[1954]) + +[#release-notes-2-x-x-changed] +=== Changed + +* Fix usage of `log4j-api` in GraalVM without additional reachability data. (https://github.com/apache/logging-log4j2/pull/1539[1539]) +* Centralize initialization in the `Provider` class and deprecate `log4j2.loggerContextFactory` property. (https://github.com/apache/logging-log4j2/pull/2374[2374]) + +[#release-notes-2-x-x-fixed] +=== Fixed + +* Fix that parameterized message formatting throws an exception when there are insufficient number of parameters. It previously simply didn't replace the '{}' sequence. The behavior changed in 2.21.0 and should be restored for backward compatibility. (https://github.com/apache/logging-log4j2/pull/2380[2380]) [#release-notes-2-x-x-updated] === Updated diff --git a/src/site/asciidoc/plugin-reference.adoc b/src/site/asciidoc/plugin-reference.adoc new file mode 100644 index 00000000000..f41b0bbfbaa --- /dev/null +++ b/src/site/asciidoc/plugin-reference.adoc @@ -0,0 +1,22 @@ +// 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. +//// += Plugin reference + +This file is a stub. +Its content will be auto-generated during build. diff --git a/src/site/site.xml b/src/site/site.xml deleted file mode 100644 index 75c89e075e4..00000000000 --- a/src/site/site.xml +++ /dev/null @@ -1,361 +0,0 @@ - - - - - - images/ls-logo.jpg - https://logging.apache.org - - - images/logo.png - https://logging.apache.org/log4j/2.x - - - org.apache.maven.skins - maven-fluido-skin - 1.11.2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Copyright © ${project.inceptionYear}-${currentYear} The Apache Software Foundation. All Rights Reserved.
    - Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, and the Apache Logging project logo are trademarks of The Apache Software Foundation.

    ]]> -
    - -
    diff --git a/src/asciidoc/templates/document.html.erb b/src/template/asciidoctor/document.html.erb similarity index 98% rename from src/asciidoc/templates/document.html.erb rename to src/template/asciidoctor/document.html.erb index bd752114f46..b92add1c994 100644 --- a/src/asciidoc/templates/document.html.erb +++ b/src/template/asciidoctor/document.html.erb @@ -65,7 +65,8 @@
  • Learn