I don’t think we need to go 2.5 for a minor new feature.  The feature is to 
allow a PatternSelector on the PatternLayout.  I want to use a different 
pattern for events with the FLOW marker than for regular events.

Ralph

> On Sep 22, 2015, at 9:46 PM, Gary Gregory <[email protected]> wrote:
> 
> Cool, what's that?
> 
> BTW, new feature <=> 2.5.
> 
> Gary
> 
> On Tue, Sep 22, 2015 at 9:39 PM, Ralph Goers <[email protected] 
> <mailto:[email protected]>> wrote:
> I am going to want a 2.4.1 pretty quick anyway.  I am adding a new feature 
> that I need for work.
> 
> Ralph
> 
>> On Sep 22, 2015, at 7:47 PM, Gary Gregory <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> I am testing the RC within my current project. I plan on living with the RC 
>> for another dev/debug session or two. So far, no issues that warrant a 
>> re-spin.
>> 
>> Gary
>> 
>> On Tue, Sep 22, 2015 at 5:14 PM, Ralph Goers <[email protected] 
>> <mailto:[email protected]>> wrote:
>> Then again, if you don’t vote +1 that could force another release.
>> 
>> Ralph
>> 
>>> On Sep 22, 2015, at 4:17 PM, Ralph Goers <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Not in my book.  I suspect it could be worked around by including a more 
>>> modern version of Xerces.  What I don’t get is that they must be using Java 
>>> 7.  Seems strange to support that and not have XInclude support.
>>> 
>>> Ralph
>>> 
>>>> On Sep 22, 2015, at 3:33 PM, Gary Gregory <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> Is LOG4J2-1127 worth another RC?
>>>> 
>>>> Gary
>>>> 
>>>> On Mon, Sep 21, 2015 at 8:32 PM, Remko Popma <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> (Including PMC in recipients)
>>>> 
>>>> 
>>>> +1
>>>> 
>>>> I see many issues with the site (details below), but AFAICS no 
>>>> showstoppers - unless we consider dependency-convergence mandatory?
>>>> I also found a bug in CsvLogEventLayout: NanoTime will always be zero 
>>>> (need to set NanoClockFactory mode - details below).
>>>> 
>>>> ----
>>>> (Notation: "-": current problematic text to be replaced, "+": replacement 
>>>> text)
>>>> ----
>>>> 
>>>> changelog.html (outdated/wrong)
>>>> -Configuration via property files is not supported.
>>>> +Configuration via property files is supported from version 2.4, but is 
>>>> not compatible with Log4j 1.x.
>>>> 
>>>> changes.xml (improvement)
>>>> -LOG4J2-952: Add ConfigurationBuilder.
>>>> +LOG4J2-952: Add ConfigurationBuilder for programmatic configuration.
>>>> 
>>>> faq.html (outdated, duplicate)
>>>> * Under "How do I configure log4j2 in code without a configuration file?"
>>>> -You could use the static method #initialize(String contextName, 
>>>> ClassLoader loader, String configLocation) (see source code) in 
>>>> org.apache.logging.log4j.core.config.Configurator. (You can pass null for 
>>>> the class loader.) Be aware that this class is not part of the public API 
>>>> so your code may break with any minor release.
>>>> +From 2.4, Log4j 2 provides an [API for programmatic 
>>>> configuration|manual/customconfig.html]. The new ConfigurationBuilder API 
>>>> allows you to create Configurations in code by constructing component 
>>>> _definitions_ without requiring you to know about the internals of actual 
>>>> configuration objects like Loggers and Appenders.
>>>> 
>>>> * Merge these answers into a single Q&A entry:
>>>> "How do I change a logger's level in code?" and 
>>>> "How do I set a logger's level programmatically?"
>>>> 
>>>> * Version
>>>> -the log4j-api-2.1 and the log4j-core-2.1 jar files
>>>> +the log4j-api-2.4 and the log4j-core-2.4 jar files
>>>> 
>>>> 
>>>> manual/appenders.html (site errors and ambiguities)
>>>> * Kafka Appender is missing from the left nav-bar in Appenders
>>>> 
>>>> -The KafkaAppender log events 
>>>> +The KafkaAppender logs events 
>>>> 
>>>> -lilter (Parameter Name)
>>>> +filter
>>>> 
>>>> -If you do not specify a layout, if not specified the formatted message as 
>>>> an UTF-8 encoded string will be sent to Kafka.
>>>> +If you do not specify a layout, the formatted message will be sent to 
>>>> Kafka as an UTF-8 encoded string.
>>>> 
>>>> -This appender requires Kafka client library
>>>> +This appender requires Kafka client library. (add period at end)
>>>> 
>>>> 
>>>> ZeroMQ appender: 
>>>> * Section title and left nav-bar title should be "JeroMQ". (and section 
>>>> will need to move to keep alphabetic order)
>>>> * Is a layout required? What layout is used if nothing is specified?
>>>> 
>>>> -The name of the Appender.
>>>> +The name of the Appender. Required.
>>>> 
>>>> (Parameter Name)
>>>> -Layout
>>>> +layout (lower case)
>>>> 
>>>> -Filters
>>>> +filters (lower case); other appenders use singular "filter" without 
>>>> trailing 's', but the code for JeroMQ says @PluginElement("Filters") 
>>>> Filter filter
>>>> 
>>>> -Property, Type=Property
>>>> +properties (lower case, plural), Type=Property[] - to be consistent with 
>>>> docs for PropertiesRewritePolicy in RewriteAppender
>>>> 
>>>> 
>>>> manual/layouts.html (CsvLogEventLayout bug, site errors)
>>>> * CSV Layout is missing from the left nav-bar in Layouts
>>>> * CSV Layout section should mention dependency on Apache Commons CSV. (See 
>>>> JSONLayout on same page.)
>>>> * Bug: CsvLogEventLayout generates NanoTime timestamps but these are 
>>>> always zero.
>>>>   To fix this, add the below code to the CsvLogEventLayout constructor:
>>>>       // LOG4J2-1074 Switch to actual clock if nanosecond timestamps are 
>>>> required in config.
>>>>       // LoggerContext will notify known NanoClockFactory users that the 
>>>> configuration has changed.
>>>>       NanoClockFactory.setMode(NanoClockFactory.Mode.System);
>>>> 
>>>> * GELF Layout should be before HTML Layout in body text and in left 
>>>> nav-bar (alphabetical order)
>>>> * HTML Layout should be before JSON Layout in body text (alphabetical 
>>>> order - the nav-bar order is correct)
>>>> * (Under Location Information)
>>>>    -%C or $class - this is rendered as "%C or class java.lang.Object"      
>>>>    +%C or %class
>>>> 
>>>> 
>>>> manual/customconfig.html (improvements)
>>>> * Side-nav menu title "Extending Log4j Configuration" should be 
>>>> "Programmatic Log4j Configuration"
>>>> * Title "Custom Configurations" -> "Programmatic Configuration"
>>>> 
>>>> 
>>>> log4j-api/dependency-convergence.html
>>>> Error: You do not have 100 % convergence. - is this a showstopper?
>>>> 
>>>> log4j-api/clirr-report.html
>>>> 77 Clirr errors - I believe these are all expected and can be ignored.
>>>> 
>>>> log4j-api/checkstyle.html
>>>> 122 checkstyle errors - not showstoppers
>>>> 
>>>> log4j-core/index.html
>>>> * Missing dependency information for JeroMQ/ZeroMQ Appender on JeroMQ 
>>>> library
>>>> * Missing dependency information for CSV layouts on Apache Commons CSV
>>>> 
>>>> log4j-core/dependency-convergence.html
>>>> Error: You do not have 100 % convergence. - Is this a showstopper?
>>>> 
>>>> log4j-core/checkstyle.html
>>>> 1652 checkstyle errors - not showstoppers
>>>> 
>>>> 
>>>> log4j-liquibase/index.html
>>>> -due the the plugin auto discovery
>>>> -due to the plugin auto discovery
>>>> 
>>>> log4j-liquibase/dependency-convergence.html
>>>> Error: You do not have 100 % convergence. - Is this a showstopper?
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On Mon, Sep 21, 2015 at 11:04 AM, Ralph Goers <[email protected] 
>>>> <>> wrote:
>>>> This is a vote to release Log4j 2.4, 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 (or more if required). All votes 
>>>> are welcome, 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:
>>>> o LOG4J2-635:  Add support for configuration via Properties.
>>>> o LOG4J2-952:  Add ConfigurationBuilder.
>>>> o LOG4J2-599:  Added support for Java 8 lambda expressions to lazily 
>>>> construct a log message only if
>>>>               the requested log level is enabled.
>>>> o LOG4J2-1118:  Updated Logger wrapper generator tool to add Java 8 lambda 
>>>> support for custom log levels.
>>>> o LOG4J2-1107:  New Appender for Apache Kafka. Thanks to Mikael Ståldal.
>>>> o LOG4J2-1113:  New publisher Appender for ZeroMQ (using JeroMQ). Thanks 
>>>> to Gary Gregory.
>>>> o LOG4J2-1088:  Add Comma Separated Value (CSV) layouts for parameter and 
>>>> event logging. Thanks to Gary Gregory.
>>>> o LOG4J2-1090:  Add Core Configurator APIs to change a logger's level.
>>>> o LOG4J2-1105:  Add API org.apache.logging.log4j.Level.isInRange(Level, 
>>>> Level). Thanks to Gary Gregory.
>>>> o LOG4J2-1106:  Add a LevelRangeFilter class. Thanks to Gary Gregory.
>>>> o LOG4J2-1076:  Added support for system nanosecond time in pattern layout.
>>>> o LOG4J2-1075:  Added support for compressing to bzip2 format on file 
>>>> rollover.
>>>> o LOG4J2-1077:  Support additional Apache Commons Compress compression 
>>>> formats on rollover: Deflate, Pack200, XY.
>>>> o LOG4J2-767:  New module for Liquibase integration. Thanks to Mikael 
>>>> Ståldal.
>>>> o LOG4J2-1023:  New RewritePolicy for changing level of a log event. 
>>>> Thanks to Mikael Ståldal.
>>>> o LOG4J2-1015:  Add a way to route messages based on the %marker in Layout 
>>>> for RoutingAppender. Thanks to Daniel Marcotte.
>>>> o LOG4J2-1050:  Add a Log4jLookup class to help write log files relative 
>>>> to log4j2.xml. Thanks to Adam Retter.
>>>> o LOG4J2-1057:  Add API 
>>>> org.apache.logging.log4j.LogManager.getFormatterLogger().
>>>> o LOG4J2-1066:  Expose Log4jContextFactory's ShutdownCallbackRegistry. 
>>>> Thanks to Charles Allen.
>>>> 
>>>> Fixed Bugs:
>>>> o LOG4J2-1121:  Fixed potential race condition on reconfiguration. 
>>>> Introduced ReliabilityStrategy to facilitate
>>>>         switching between different mechanisms for preventing log events 
>>>> from being dropped on reconfiguration.
>>>> o LOG4J2-1123:  Core Configurator.initialize(String, ClassLoader, String) 
>>>> fails to work when config location is a file path. Thanks to Gary Gregory.
>>>> o LOG4J2-1117:  OutputStreamManager in ConsoleAppender leaking managers. 
>>>> Thanks to Marcus Thiesen.
>>>> o LOG4J2-1044:  Write pending events to Flume when the appender is stopped.
>>>> o LOG4J2-1108:  NullPointerException when passing null to 
>>>> java.util.logging.Logger.setLevel(). Thanks to Mikael Ståldal.
>>>> o LOG4J2-1110:  org.apache.logging.log4j.jul.CoreLogger.setLevel() checks 
>>>> for security permission too late.
>>>> o LOG4J2-1084:  Misleading StatusLogger WARN event in LogManager with 
>>>> java.util.Map. Thanks to Philipp Schneider.
>>>> o LOG4J2-1051:  NoClassDefFoundError when starting app on Google App 
>>>> Engine. Thanks to Lukasz Lenart.
>>>> o LOG4J2-684:  ExtendedThrowablePatternConverter does not print suppressed 
>>>> exceptions. Thanks to Joern Huxhorn, Mauro Molinari.
>>>> o LOG4J2-1069:  Improper handling of JSON escape chars when deserializing 
>>>> JSON log events. Thanks to Sam Braam.
>>>> o LOG4J2-1068:  Exceptions not logged when using TcpSocketServer + 
>>>> SerializedLayout. Thanks to Andy McMullan.
>>>> o LOG4J2-1067:  ThrowableProxy getExtendedStackTraceAsString throws NPE on 
>>>> deserialized nested exceptions. Thanks to Sam Braam.
>>>> o LOG4J2-1049:  AsyncAppender now resets the thread interrupted flag after 
>>>> catching InterruptedException. Thanks to Robert Schaft.
>>>> o LOG4J2-1048:  FileConfigurationMonitor unnecessarily calls 
>>>> System.currentTimeMillis() causing high CPU usage. Thanks to Nikhil.
>>>> o LOG4J2-1037:  Backward compatibility issue in log4j-1.2-api NDC pop() 
>>>> and peek(). Thanks to Marc Dergacz.
>>>> o LOG4J2-1025:  Custom java.util.logging.Level gives null Log4j Level and 
>>>> causes NPE. Thanks to Mikael Ståldal.
>>>> o LOG4J2-1033:  SimpleLogger creates unnecessary Map objects by calling 
>>>> ThreadContext.getContext() instead of getImmutableContext(). Thanks to 
>>>> Mikael Ståldal.
>>>> o LOG4J2-1026:  HighlightConverter does not obey noConsoleNoAnsi.
>>>> o LOG4J2-1019:  ZipCompressAction leaves files open until GC when an IO 
>>>> error takes place.
>>>> o LOG4J2-1020:  GzCompressAction leaves files open until GC when an IO 
>>>> error takes place.
>>>> o LOG4J2-1038:  Incorrect documentation for layout default charset. Thanks 
>>>> to Gili.
>>>> o LOG4J2-1042:  Socket and Syslog appenders don't take timeout into 
>>>> account at startup. Thanks to Guillaume Turri.
>>>> o LOG4J2-934:  Circular suppressed Exception throws StackOverflowError. 
>>>> Thanks to Kenneth Gendron.
>>>> o LOG4J2-1046:  Circular Exception cause throws StackOverflowError. Thanks 
>>>> to Kenneth Gendron.
>>>> o LOG4J2-982:  Use System.nanoTime() to measure time intervals. Thanks to 
>>>> Mikhail Mazurskiy.
>>>> o LOG4J2-1045:  Externalize log4j2.xml via URL resource. Thanks to Günter 
>>>> Albrecht.
>>>> o LOG4J2-1058:  Log4jMarker#contains(String) does not respect 
>>>> org.slf4j.Marker contract. Thanks to Daniel Branzea.
>>>> o LOG4J2-1060:  Log4jMarker#contains(Marker) does not respect 
>>>> org.slf4j.Marker contract.
>>>> o LOG4J2-1061:  Log4jMarker#remove(Marker) does not respect 
>>>> org.slf4j.Marker contract.
>>>> o LOG4J2-1062:  Log4jMarker#add(Marker) does not respect org.slf4j.Marker 
>>>> contract.
>>>> o LOG4J2-1064:  org.apache.logging.slf4j.Log4jMarker does not implement 
>>>> org.slf4j.Marker.equals(Object) org.slf4j.Marker.hashCode().
>>>> o LOG4J2-889:  Header in layout should not be written on application 
>>>> startup if appending to an existing file. Fixes LOG4J2-1030. Thanks to 
>>>> Maciej Karaś, Kenneth Leider.
>>>> o LOG4J2-918:  Clarify documentation for combining async with sync loggers.
>>>> o LOG4J2-1078:  GelfLayout throws exception if some log event fields are 
>>>> null. Thanks to Mikael Ståldal.
>>>> 
>>>> Changes:
>>>> o LOG4J2-1017:  Update Java platform from Java 6 to 7. From this version 
>>>> onwards, log4j 2 requires Java 7.
>>>> o LOG4J2-812:  PatternLayout timestamp formatting performance improvement: 
>>>> replaced synchronized SimpleDateFormat with
>>>>         Apache Commons FastDateFormat. This and better caching resulted in 
>>>> a ~3-30X faster timestamp formatting.
>>>> o LOG4J2-1097:  PatternLayout timestamp formatting performance 
>>>> improvement: predefined date formats (and variants using
>>>>         a period '.' millisecond separator instead of ',') are now 
>>>> formatted ~2-10X faster than other date formats.
>>>> o LOG4J2-1096:  Improved performance of 
>>>> ParameterizedMessage::getFormattedMessage by ~2X.
>>>> o LOG4J2-1120:  LoggerConfig performance improvements: avoid unnecessary 
>>>> lock acquisition, use more efficient data structure.
>>>> o LOG4J2-1125:  PatternLayout performance improvement by caching and 
>>>> reusing a ThreadLocal StringBuilder.
>>>> o LOG4J2-1114:  Add thread name to status logger layout.
>>>> o LOG4J2-1010:  Pass log event when interpolating logger properties.
>>>> o LOG4J2-1044:  Support batchSize in FlumeAvroManager.
>>>> o LOG4J2-1065:  Define org.apache.logging.log4j.Marker.equals(Object) and 
>>>> org.apache.logging.log4j.Marker.hashCode().
>>>> o LOG4J2-1063:  Avoid creating temporary array object in 
>>>> org.apache.logging.slf4j.Log4jMarker.iterator().
>>>> o LOG4J2-890:  log4j-web-2.1 should workaround a bug in JBOSS EAP 6.2. 
>>>> Thanks to Hassan Kalaldeh, Robert Andersson, Remko Popma.
>>>> o LOG4J2-403:  MongoDB appender, username and password should be optional. 
>>>> Thanks to Poorna Subhash P, Jeremy Lautman.
>>>> o LOG4J2-1035:  Log4j2 tries to SystemClassLoader when running on Google 
>>>> AppEngine.
>>>> o LOG4J2-1022:  Allow a list of keys to be specified in the MDC pattern 
>>>> converter.
>>>> o LOG4J2-959:  Fix FindBugs DM_DEFAULT_ENCODING bug in 
>>>> SimpleLogger.logMessage() and simplify code.
>>>> o LOG4J2-1036:  Update Apache Flume from 1.5.2 to 1.6.0.
>>>> o LOG4J2-1041:  Update MongoDB driver from 2.11.2 to 2.13.2.
>>>> o LOG4J2-1018:  Update database tests from H2 1.3.175 to 1.3.176.
>>>> o LOG4J2-1070:  Update Java Mail from 1.5.2 to 1.5.4.
>>>> o LOG4J2-1079:  Update Jackson from 2.5.3 to 2.5.4.
>>>> o LOG4J2-1879:  Update Jackson from 2.5.4 to 2.6.0.
>>>> o LOG4J2-1092:  Update Jackson from 2.6.0 to 2.6.1.
>>>> o LOG4J2-1104:  Update Apache Commons Compress from 1.9 to 1.10.
>>>> 
>>>> Removed:
>>>> o Removed experimental interface LevelLogger which got committed to master 
>>>> by mistake.
>>>> 
>>>> Tag:https:// 
>>>> <https://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=tree;h=380e13cd7ab965942f1d5cfabd73dd056d728b28;hb=383a8194acab4a740d22b69c023ca3af6cb9c664>git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=tree;h=380e13cd7ab965942f1d5cfabd73dd056d728b28;hb=383a8194acab4a740d22b69c023ca3af6cb9c664
>>>>  
>>>> <http://git-wip-us.apache.org/repos/asf?p=logging-log4j2.git;a=tree;h=380e13cd7ab965942f1d5cfabd73dd056d728b28;hb=383a8194acab4a740d22b69c023ca3af6cb9c664>
>>>>  or 
>>>> a)  for a new copy do "git clone 
>>>> https://git-wip-us.apache.org/repos/asf/logging-log4j2.git 
>>>> <https://git-wip-us.apache.org/repos/asf/logging-log4j2.git>" and then 
>>>> "git checkout tags/log4j-2.4"
>>>> b) for an existing working copy to “git pull” and then “git checkout 
>>>> tags/log4j-2.4”
>>>> 
>>>> Web Site: http://people.apache.org/~rgoers/log4j2/ 
>>>> <http://people.apache.org/~rgoers/log4j2/>
>>>> 
>>>> Artifacts: 
>>>> https://repository.apache.org/content/repositories/orgapachelogging-1015 
>>>> <https://repository.apache.org/content/repositories/orgapachelogging-1015>
>>>> 
>>>> You may download all the artifacts by executing:
>>>> 
>>>> wget -e robots=off --cut-dirs=7 -nH -r -p -np --no-check-certificate 
>>>> https://repository.apache.org/content/repositories/orgapachelogging-1015/org/apache/logging/log4j/
>>>>  
>>>> <https://repository.apache.org/content/repositories/orgapachelogging-1015/org/apache/logging/log4j/>
>>>> Ralph
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> E-Mail: [email protected] <mailto:[email protected]> | 
>>>> [email protected]  <mailto:[email protected]>
>>>> Java Persistence with Hibernate, Second Edition 
>>>> <http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> 
>>>> Home: http://garygregory.com/ <http://garygregory.com/>
>>>> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>
>> 
>> 
>> 
>> 
>> -- 
>> E-Mail: [email protected] <mailto:[email protected]> | 
>> [email protected]  <mailto:[email protected]>
>> Java Persistence with Hibernate, Second Edition 
>> <http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> 
>> Home: http://garygregory.com/ <http://garygregory.com/>
>> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>
> 
> 
> 
> -- 
> E-Mail: [email protected] <mailto:[email protected]> | 
> [email protected]  <mailto:[email protected]>
> Java Persistence with Hibernate, Second Edition 
> <http://www.manning.com/bauer3/>
> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
> Spring Batch in Action <http://www.manning.com/templier/>
> Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> 
> Home: http://garygregory.com/ <http://garygregory.com/>
> Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>

Reply via email to