This is a vote to release Log4j 2.17.2, the next version of the Log4j 2 project.
Please download, test, and cast your votes on the log4j developers list. [] +1, release the artifacts [] -1, don't release because... The vote will remain open for 72 hours. All votes are welcome and we encourage everyone to test the release, but only Logging PMC votes are “officially” counted. As always, at least 3 +1 votes and more positive than negative votes are required. Changes in this version include: New Features • LOG4J2-3297: Limit loading of configuration via a url to https by default. • LOG4J2-2486: Require log4j2.Script.enableLanguages to be specified to enable scripting for specific languages. • LOG4J2-3303: Add TB support to FileSize. Thanks to ramananravi. • LOG4J2-3282: Add the log4j-to-jul JDK Logging Bridge Thanks to Michael Vorburger. • : Add org.apache.logging.log4j.core.appender.AsyncAppender.getAppenders() to more easily port from org.apache.log4j.AsyncAppender.getAllAppenders(). • : Add Configurator.setLevel(Logger, Level), setLevel(String, String), and setLevel(Class, Level). Thanks to Gary Gregory. • LOG4J2-3341: Add shorthand syntax for properties configuration format for specifying a logger level and appender refs. • LOG4J2-3391: Add optional additional fields to NoSQLAppender. Thanks to Gary Gregory. Fixed Bugs • LOG4J2-3304: Flag LogManager as initiialized if the LoggerFactory is provided as a property. Thanks to francis-FY. • LOG4J2-3404: Fix DefaultConfiguration leak in PatternLayout Thanks to Piotr Karwasz. • LOG4J2-3405: Document that the Spring Boot Lookup requires the log4j-spring-boot dependency. • LOG4J2-3317: Fix RoutingAppender backcompat and disallow recursive evaluation of lookup results outside of configuration properties. • LOG4J2-3333: Fix ThreadContextDataInjector initialization deadlock • LOG4J2-3358: Fix substitutions when programmatic configuration is used • LOG4J2-3306: OptionConverter could cause a StackOverflowError. • : Log4j 1.2 bridge class ConsoleAppender should extend WriterAppender and provide better compatibility with custom appenders. • : Log4j 1.2 bridge method NDC.inherit(Stack) should not use generics to provide source compatibility. • : Log4j 1.2 bridge class PatternLayout is missing constants DEFAULT_CONVERSION_PATTERN and TTCC_CONVERSION_PATTERN. • : Log4j 1.2 bridge class PropertyConfigurator should implement Configurator. • : Log4j 1.2 bridge interface Configurator doConfigure() methods should use LoggerRepository, not LoggerContext. • : Log4j 1.2 bridge class OptionConverter is missing selectAndConfigure() methods. • : Log4j 1.2 bridge class Category should implement AppenderAttachable. • : Log4j 1.2 bridge method Category.exists(String) should be static. • : Log4j 1.2 bridge methods missing in org.apache.log4j.Category: getDefaultHierarchy(), getHierarchy(), getLoggerRepository(). • : Log4j 1.2 bridge class LogManager default constructor should be public. • : Log4j 1.2 bridge interface org.apache.log4j.spi.RendererSupport was in the wrong package and incomplete. • : Log4j 1.2 bridge interfaces missing from package org.apache.log4j.spi: ThrowableRenderer, ThrowableRendererSupport, TriggeringEventEvaluator. • : Log4j 1.2 bridge missing class org.apache.log4j.or.RendererMap. • LOG4J2-3281: Log4j 1.2 bridge PropertiesConfiguration.buildAppender not adding filters to custom appender. • LOG4J2-3316: Log4j 1.2 bridge should ignore case in properties file keys. • : Log4j 1.2 bridge adds org.apache.log4j.component.helpers.Constants. • : Log4j 1.2 bridge adds org.apache.log4j.helpers.LogLog. • : Log4j 1.2 bridge adds org.apache.log4j.helpers.Loader. • : Log4j 1.2 bridge adds org.apache.log4j.spi.RootLogger. • : Log4j 1.2 bridge class Category is missing some protected instance variables. • : Log4j 1.2 bridge adds org.apache.log4j.Hierarchy. • : Log4j 1.2 bridge methods Category.getChainedPriority() and getEffectiveLevel() should not be final. • : Log4j 1.2 bridge adds org.apache.log4j.spi.NOPLoggerRepository and NOPLogger. • : Log4j 1.2 bridge adds org.apache.log4j.spi.DefaultRepositorySelector. • : Log4j 1.2 bridge implements LogManager.getCurrentLoggers() fully. • LOG4J2-3326: Log4j 1.2 bridge fixes parsing filters in properties configuration file #680. Thanks to Benjamin Röhl, Gary Gregory. • LOG4J2-3326: Log4j 1.2 bridge missing OptionConverter.instantiateByKey(Properties, String, Class, Object). Thanks to Gary Gregory. • LOG4J2-3326: Log4j 1.2 bridge class org.apache.log4j.spi.LoggingEvent missing constructors and public instance variable. Thanks to Gary Gregory. • LOG4J2-3328: Log4j 1.2 bridge does not support system properties in log4j.xml. Thanks to Gary Gregory. • : Log4j 1.2 bridge now logs a warning instead of throwing an NullPointerException when building a Syslog appender with a missing "SyslogHost" param. Thanks to Gary Gregory. • : Log4j 1.2 bridge should allow property and XML attributes to start with either an upper-case or lower-case letter. Thanks to Gary Gregory, Piotr P. Karwasz. • : Log4j 1.2 bridge uses the wrong default values for a TTCCLayout #709. Thanks to Gary Gregory, Piotr P. Karwasz. • : Log4j 1.2 bridge throws ClassCastException when using SimpleLayout and others #708. Thanks to Gary Gregory, Piotr P. Karwasz. • : Log4j 1.2 bridge uses the wrong file pattern for rolling file appenders #710. Thanks to Gary Gregory, Piotr P. Karwasz. • : Log4j 1.2 bridge throws ClassCastException when using SimpleLayout and others #708. Thanks to Gary Gregory, Piotr P. Karwasz. • : Log4j 1.2 bridge creates a SocketAppender instead of a SyslogAppender. Thanks to Gary Gregory. • : Log4j 1.2 bridge uses some incorrect default property values in some appenders. Thanks to Piotr P. Karwasz. • : Log4j 1.2 bridge supports the SocketAppender. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing DefaultThrowableRenderer. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing some ThrowableInformation constructors. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing some LocationInfo constructors. Thanks to Gary Gregory. • : Log4j 1.2 bridge missed Thanks to Gary Gregory. • : Log4j 1.2 bridge missed org.apache.log4j.pattern.FormattingInfo. Thanks to Gary Gregory. • : Log4j 1.2 bridge missed org.apache.log4j.pattern.NameAbbreviator. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing UtilLoggingLevel. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing FormattingInfo. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing PatternConverter. Thanks to Gary Gregory. • : Log4j 1.2 bridge missing PatternParser. Thanks to Gary Gregory. • : Log4j 1.2 bridge issues with filters #753. Thanks to ppkarwasz, Gary Gregory. • : Log4j 1.2 bridge implements most of DOMConfigurator. Thanks to Gary Gregory. • : JndiManager reverts to 2.17.0 behavior: Read the system property for each call. • LOG4J2-3330: Configurator.setLevel not fetching the correct LoggerContext. Thanks to Mircea Lemnaru, Gary Gregory. • : Fix DTD error: Add missing ELEMENT for Marker. • : Fix log4j-jakarta-web service file #723. Thanks to Gary Gregory, Piotr P. Karwasz. • LOG4J2-3392: AppenderLoggingException logging any exception to a MongoDB Appender. Thanks to Gary Gregory, Omer U. • LOG4J2-3392: Possible NullPointerException in MongoDb4DocumentObject, MongoDbDocumentObject, DefaultNoSqlObject. Thanks to Gary Gregory. • : Trim whitespace before parsing a String into an Integer. Thanks to Gary Gregory. • LOG4J2-3410: Log4j 1.2 bridge throws a ClassCastException when logging a Map with non-String keys. Thanks to Barry Sham, Gary Gregory. • LOG4J2-3407: Log4j 1.2 bridge Check for non-existent appender when parsing properties #761. Thanks to Kenny MacLeod. • LOG4J2-3407: Log4j 1.2 bridge supports global threshold #764. Thanks to Piotr P. Karwasz. Changes • LOG4J2-3267: Change modifier of method org.apache.logging.log4j.core.tools.Generate#generate to public (was package private) to facilitate automated code generation. Tag: a) for a new copy do "git clone https://github.com/apache/logging-log4j2.git and then "git checkout tags/log4j-2.17.2-rc1” or just "git clone -b log4j-2.17.2-rc1 https://github.com/apache/logging-log4j2.git" b) for an existing working copy to “git pull” and then “git checkout tags/log4j-2.17.2-rc1” Web Site: https://logging.staged.apache.org/log4j/2.x/index.html. Maven Artifacts: https://repository.apache.org/content/repositories/orgapachelogging-1084/ Distribution archives: https://dist.apache.org/repos/dist/dev/logging/log4j/ You may download all the Maven artifacts by executing: wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate https://repository.apache.org/content/repositories/orgapachelogging-1084/org/apache/logging/log4j/ Ralph