Cool, what's that?

BTW, new feature <=> 2.5.

Gary

On Tue, Sep 22, 2015 at 9:39 PM, Ralph Goers <[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]> 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]>
> 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]>
>> 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]> wrote:
>>
>> Is LOG4J2-1127 worth another RC?
>>
>> Gary
>>
>> On Mon, Sep 21, 2015 at 8:32 PM, Remko Popma <[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
>>>>  or
>>>>
>>>> a)  for a new copy do "git clone 
>>>> 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/
>>>>
>>>> Artifacts: 
>>>> 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/
>>>>
>>>> Ralph
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> --
>> E-Mail: [email protected] | [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
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>>
>
>
> --
> E-Mail: [email protected] | [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
> Home: http://garygregory.com/
> Tweet! http://twitter.com/GaryGregory
>
>
>


-- 
E-Mail: [email protected] | [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
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to