Nice!

G

On Sat, Jan 28, 2017 at 11:35 AM, Matt Sicker <mattsic...@apache.org> wrote:

> Looks like this lost itself outside the list. Anyways, I've updated the
> template to generate markdown which makes a nice compromise between HTML
> and plain text. The output on GitHub is copyable into an email, for
> instance.
>
> On 27 January 2017 at 19:33, Matt Sicker <mattsic...@apache.org> wrote:
>
>> It's just a velocity template:
>>
>> https://github.com/apache/logging-log4j2/blob/master/src/
>> changes/announcement.vm
>>
>> Shouldn't be too hard to adapt to HTML.
>>
>> On 27 January 2017 at 16:53, Gary Gregory <ggreg...@rocketsoftware.com>
>> wrote:
>>
>>> We need a gadget that generates this in HTML. That would make the blog
>>> and emails like this easier to digest. I wonder if there is a maven
>>> thingy...
>>>
>>> Gary
>>>
>>> ------------------------------
>>> *From:* Matt Sicker <mattsic...@apache.org>
>>> *Sent:* Friday, January 27, 2017 8:19:48 AM
>>> *To:* annou...@apache.org
>>> *Subject:* [ANN] Log4j 2.8 released
>>>
>>>
>>> The Apache Log4j 2 team is pleased to announce the Log4j 2.8 release!
>>>
>>> Apache Log4j is a well known framework for logging application behavior. 
>>> Log4j 2 is an upgrade
>>> to Log4j that provides significant improvements over its predecessor, Log4j 
>>> 1.x, and provides
>>> many other modern features such as support for Markers, lambda expressions 
>>> for lazy logging,
>>> property substitution using Lookups, multiple patterns on a PatternLayout 
>>> and asynchronous
>>> Loggers. Another notable Log4j 2 feature is the ability to be 
>>> "garbage-free" (avoid allocating
>>> temporary objects) while logging. In addition, Log4j 2 will not lose events 
>>> while reconfiguring.
>>>
>>> This release contains several bugfixes and new features. The new features 
>>> include the ability
>>> to have the RollingFileAppender log directly to the archive files. More 
>>> details on the new features and
>>> fixes are itemized below.
>>>
>>> Note that subsequent to the 2.6 release a minor source incompatibility was 
>>> found due to the
>>> addition of new methods to the Logger interface. If you have code that does:
>>>
>>> logger.error(null, “This is the log message”, throwable);
>>>
>>> or similar with any log level you will get a compiler error saying the 
>>> reference is ambiguous.
>>> To correct this either do:
>>>
>>> logger.error(“This is the log message”, throwable);
>>>
>>> or
>>>
>>> logger.error((Marker) null, “This is the log message”, throwable);
>>>
>>> The Log4j 2.8 API, as well as many core components, maintains binary 
>>> compatibility with previous releases.
>>>
>>> GA Release 2.8
>>>
>>> Changes in this version include:
>>>
>>> New features:
>>> o LOG4J2-1032:  Make DefaultRolloverStrategy more efficent when renaming 
>>> files. Add nomax option to the fileIndex attribute.
>>> o LOG4J2-1101:  RollingFileAppender now supports omitting the file name and 
>>> writing directly to the archive files.
>>> o LOG4J2-1243:  Allow default value in property to be a Lookup.
>>> o LOG4J2-1787:  Document how to exclude transitive conflicting dependencies 
>>> in Maven and Gradle.
>>> o LOG4J2-1773:  Add StatusLoggerRule to allow unit tests to set a status 
>>> level.
>>> o LOG4J2-424:  Add non-string data type support to JdbcAppender via new 
>>> ColumnMapping plugin.
>>> o LOG4J2-1771:  Add a Builder to ColumnConfig and deprecate 
>>> ColumnConfig.createColumnConfig().
>>> o LOG4J2-1770:  Add a Builder to JdbcAppender and deprecate 
>>> JdbcAppender.createAppender().
>>> o LOG4J2-1764:  Use MethodHandle in ContextDataFactory cached constructor.
>>> o LOG4J2-1730:  Add Apache Cassandra appender and ColumnMapping plugin.
>>> o LOG4J2-1759:  Add TypeConverter for java.util.UUID.
>>> o LOG4J2-1758:  Add TypeConverter for java.nio.file.Path.
>>> o LOG4J2-1755:  Add TypeConverter and constraint validators for 
>>> java.net.InetAddress and port numbers.
>>> o LOG4J2-969:  Refactor SyslogAppender so that Layout is a Plugin element.
>>> o LOG4J2-1660:  Added public method ThreadContext::getThreadContextMap; 
>>> removed class ThreadContextAccess.
>>> o LOG4J2-1379:  Add documentation regarding YAML configuration format.
>>> o LOG4J2-1718:  Introduce marker interface AsynchronouslyFormattable.
>>> o LOG4J2-1681:  Introduce interfaces IndexedStringMap and 
>>> IndexedReadOnlyStringMap, supporting garbage-free iteration over sorted map.
>>> o LOG4J2-1695:  Add a Builder to ScriptPatternSelector and deprecate 
>>> ScriptPatternSelector.createSelector().
>>> o LOG4J2-1696:  Add a Builder to MarkerPatternSelector and deprecate 
>>> MarkerPatternSelector.createSelector().
>>> o LOG4J2-1697:  Add a SerializerBuilder to PatternLayout and deprecate 
>>> PatternLayout.createSerializer().
>>> o LOG4J2-1701:  Add a Builder to RandomAccessFileAppender and deprecate 
>>> RandomAccessFileAppender.createAppender().
>>> o LOG4J2-1703:  Add a Builder to MemoryMappedFileAppender and deprecate 
>>> MemoryMappedFileAppender.createAppender().
>>> o LOG4J2-1704:  Add a Builder to RollingRandomAccessFileAppender and 
>>> deprecate RollingRandomAccessFileAppender.createAppender().
>>> o LOG4J2-1709:  Add a Builder to SyslogAppender and deprecate 
>>> SyslogAppender.createAppender().
>>> o LOG4J2-1707:  Allow TCP Socket Appender to set socket options.
>>> o LOG4J2-1708:  Allow Secure Socket Appender to set socket options.
>>> o LOG4J2-1737:  Add a Builder to SyslogLayout and deprecate 
>>> SyslogLayout.createLayout(Facility, boolean, String, Charset).
>>> o LOG4J2-1738:  Add a Builder to JsonLayout and deprecate 
>>> org.apache.logging.log4j.core.layout.JsonLayout.createLayout(Configuration, 
>>> boolean, boolean, boolean, boolean, boolean, boolean, String, String, 
>>> Charset, boolean).
>>> o LOG4J2-1739:  Add Builder to KafkaAppender and deprecate 
>>> KafkaAppender.createAppender(Layout, Filter, String, boolean, String, 
>>> Property[], Configuration).
>>> o LOG4J2-1733:  Add SyncSend attribute to KafkaAppender (as in 
>>> KafkaLog4jAppender). Thanks to Vincent Tieleman.
>>>
>>> Fixed Bugs:
>>> o LOG4J2-1780:  Eliminate the use of the ExecutorServices in the 
>>> LoggerContext.
>>> o LOG4J2-1786:  ConfigurationScheduler now preserves interrupt flag during 
>>> stop.
>>> o LOG4J2-1779:  Fixed bug where AsyncLogger did not resolve configuration 
>>> properties.
>>> o LOG4J2-1769:  Fixed concurrency issue affecting all layouts except 
>>> PatternLayout and GelfLayout, which caused scrambled output and exceptions 
>>> when logging synchronously from multiple threads. Thanks to Brandon Goodin.
>>> o LOG4J2-1724:  Using variables in GelfLayout's additional fields at 
>>> runtime. Thanks to Alexander Krasnostavsky.
>>> o LOG4J2-1762:  Add Builder to GelfLayout.
>>> o LOG4J2-1649:  Insure the ConfigurationScheduler shuts down without 
>>> blocking. Thanks to Georg Friedrich.
>>> o LOG4J2-1653:  CronTriggeringPolicy would use the wrong date/time when 
>>> rolling over and create multiple triggering policies on reconfiguration. 
>>> Thanks to Georg Friedrich.
>>> o LOG4J2-1748:  Do not use non-daemon thread pool for rollover tasks.
>>> o LOG4J2-1628:  Fixed file locking regression in FileAppender introduced in 
>>> 2.6.
>>> o LOG4J2-1744:  The custom logger Generate tool no longer requires the 
>>> log4j-api module on the classpath.
>>> o LOG4J2-1731:  SslSocketManager now respects connectTimeoutMillis. Thanks 
>>> to Chris Ribble.
>>> o LOG4J2-1682:  Logger using LocalizedMessageFactory prints key instead of 
>>> message. Thanks to Markus Waidhofer.
>>> o LOG4J2-1720:  Make GelfLayout independent of Jackson.
>>> o LOG4J2-1719:  Fixed race condition in ObjectMessage and SimpleMessage, 
>>> ensuring that the log message contains the value the object has during the 
>>> logging call.
>>> o LOG4J2-1688:  Fixed bug where elements of a log message parameter array 
>>> were nulled out in garbage-free mode.
>>> o LOG4J2-1692:  Add putAll() method to CloseableThreadContext. Thanks to 
>>> Greg Thomas.
>>> o LOG4J2-1689:  Add CleanableThreadContextMap interface supporting method 
>>> removeAll(Iterable<String>).
>>> o LOG4J2-1685:  Option 'disableAnsi' in PatternLayout to unconditionally 
>>> disable ANSI escape codes. Thanks to Raman Gupta.
>>> o LOG4J2-1706:  Make TimeFilter usable as global filter and as logger 
>>> filter.
>>> o LOG4J2-1722:  (GC) Avoid allocating temporary objects in 
>>> VariablesNotEmptyReplacementConverter.
>>> o LOG4J2-1717:  (GC) Avoid allocating temporary objects in 
>>> EncodingPatternConverter.
>>> o LOG4J2-1716:  (GC) Avoid allocating temporary objects in 
>>> MapPatternConverter. (Note that constructing a MapMessage is not 
>>> garbage-free.)
>>> o LOG4J2-1683:  (GC) Avoid allocating temporary objects in MapMessage.
>>> o LOG4J2-1715:  (GC) Avoid allocating temporary objects in 
>>> NdcPatternConverter. (Note that use of the ThreadContext stack is not 
>>> garbage-free.)
>>> o LOG4J2-1714:  (GC) Avoid allocating temporary objects in 
>>> AbstractStyleNameConverter.
>>> o LOG4J2-1680:  (GC) Avoid allocating temporary objects in TimeFilter.
>>> o LOG4J2-1679:  (GC) Avoid allocating temporary objects in 
>>> StructuredDataFilter.
>>> o LOG4J2-1678:  (GC) Avoid allocating temporary objects in 
>>> ThreadContextMapFilter.
>>> o LOG4J2-1677:  (GC) Avoid allocating temporary objects in MapFilter.
>>> o LOG4J2-1674:  (GC) Avoid allocating temporary objects in ThresholdFilter.
>>> o LOG4J2-1673:  (GC) Avoid allocating temporary objects in MarkerFilter.
>>> o LOG4J2-1672:  (GC) Avoid allocating temporary objects in LevelRangeFilter.
>>> o LOG4J2-1671:  (GC) Avoid allocating temporary objects in 
>>> EqualsIgnoreCaseReplacementConverter.
>>> o LOG4J2-1670:  (GC) Avoid allocating temporary objects in 
>>> EqualsReplacementConverter.
>>> o LOG4J2-1669:  (GC) Avoid allocating temporary objects in 
>>> MaxLengthConverter.
>>> o LOG4J2-1668:  (GC) Avoid allocating temporary objects in 
>>> MarkerPatternConverter.
>>> o LOG4J2-1667:  (GC) Avoid allocating temporary objects in 
>>> SequenceNumberPatternConverter.
>>> o LOG4J2-1666:  (GC) Avoid allocating temporary objects in 
>>> RelativeTimePatternConverter.
>>> o LOG4J2-1665:  (GC) Avoid allocating temporary objects in 
>>> IntegerPatternConverter.
>>> o LOG4J2-1637:  Fixed problems when used in OSGi containers 
>>> (IllegalAccessError, NoClassDefFoundError).
>>> o LOG4J2-1226:  Improve LogEvent serialization to handle non-serializable 
>>> Messages and deserializing when required classes are missing.
>>> o LOG4J2-1663:  Ensure SortedArrayStringMap can be serialized and 
>>> deserialized without errors regardless of content.
>>> o LOG4J2-1658:  Prevent NPE in 
>>> ThreadContextMapFactory::createThreadContextMap when initializing Log4j 
>>> with Configurator::initialize and the BasicContextSelector is used.
>>> o LOG4J2-1645:  Immutable empty StringMap.
>>> o LOG4J2-1623:  Configurable JVM shutdown hook timeout.
>>> o LOG4J2-1712:  Pick up bug fixes from Apache Commons Lang's 
>>> org.apache.commons.lang3.time package.
>>> o LOG4J2-1636:  Console Appender does not pick up Oracle Java 8's 
>>> sun.stdout.encoding and sun.stderr.encoding. Thanks to Eldar Gabdullin.
>>> o LOG4J2-1639:  Fix MemoryMappedFileAppender.createAppender() Javadoc for 
>>> immediateFlush. Thanks to Sridhar Gopinath.
>>> o LOG4J2-1676:  Some LogEvents may not carry a Throwable (Use 
>>> Message.getThrowable() in log(Message) methods.) Thanks to Joern Huxhorn.
>>> o LOG4J2-1723:  Unwanted transitive dependency on geronimo-jms_1.1_spec 
>>> causes OSGi tests to fail. Thanks to Ludovic HOCHET.
>>> o LOG4J2-1664:  Improve OSGi unit tests. Thanks to Ludovic HOCHET.
>>> o LOG4J2-1687:  NPE in ThrowableProxy when resolving stack in Java EE/OSGi 
>>> environment. Thanks to Robert Christiansen.
>>> o LOG4J2-1642:  DefaultShutdownCallbackRegistry can throw a 
>>> NoClassDefFoundError. Thanks to Johno Crawford.
>>> o LOG4J2-1474:  CronTriggeringPolicy raise exception and fail to rollover 
>>> log file when evaluateOnStartup is true. Thanks to yin mingjun, Neon.
>>> o LOG4J2-1734:  SslSocketManagerFactory might leak Sockets when certain 
>>> startup errors occur.
>>> o LOG4J2-1736:  TcpSocketManagerFactory might leak Sockets when certain 
>>> startup errors occur.
>>> o LOG4J2-1740:  Add CronTriggeringPolicy programmatically leads to NPE.
>>> o LOG4J2-1743:  CompositeConfiguration does not add filters to 
>>> appenderRefs. Thanks to Toby Shepheard.
>>> o LOG4J2-1756:  Adds xmlns in schema and some other tags. Thanks to 
>>> shubhankar1100.
>>>
>>> Changes:
>>> o LOG4J2-1781:  Update Conversant Disruptor from 1.2.7 to 1.2.10
>>> o LOG4J2-1774:  Replace MockEJB dependency in unit tests with Spring Test 
>>> and Mockito.
>>> o LOG4J2-1644:  Inefficient locking in AbstractLoggerAdapter. Thanks to Tim 
>>> Gokcen, Pavel Sivolobtchik.
>>> o LOG4J2-1641:  Update JeroMQ from 0.3.5 to 0.3.6.
>>> o LOG4J2-1647:  Update Commons Lang from 3.4 to 3.5.
>>> o LOG4J2-1646:  Migrate to Mockito 2.x in unit tests.
>>> o LOG4J2-1655:  Update Jackson from 2.8.3 to 2.8.4.
>>> o LOG4J2-1735:  Update Jackson from 2.8.4 to 2.8.5.
>>> o LOG4J2-1656:  Update Apache Flume from 1.6.0 to 1.7.0.
>>> o LOG4J2-1698:  Update LMAX Disruptor from 3.3.5 to 3.3.6.
>>> o LOG4J2-1700:  Update Jansi from 1.13 to 1.14.
>>> o LOG4J2-1750:  Update Kafka from 0.10.0.1 to 0.10.1.1.
>>> o LOG4J2-1751:  Update liquibase-core from 3.5.1 to 3.5.3.
>>> o LOG4J2-1302:  The log4j-slf4j-impl module now declares a runtime 
>>> dependency on log4j-core. While not technically required, this makes the 
>>> log4j-slf4j-impl module behave similarly to slf4j-log4j12, and facilitates 
>>> migration to Log4j 2.
>>>
>>>
>>> Apache Log4j 2.8 requires a minimum of Java 7 to build and run. Log4j 2.3 
>>> was the
>>> last release that supported Java 6.
>>>
>>> Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api 
>>> component, however it
>>> does not implement some of the very implementation specific classes and 
>>> methods. The package
>>> names and Maven groupId have been changed to org.apache.logging.log4j to 
>>> avoid any conflicts
>>> with log4j 1.x.
>>>
>>> For complete information on Apache Log4j 2, including instructions on how 
>>> to submit bug
>>> reports, patches, or suggestions for improvement, see the Apache Apache 
>>> Log4j 2 website:
>>> https://logging.apache.org/log4j/2.x/
>>>
>>> ================================
>>> Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA
>>> 02451 ■ +1 877.328.2932 <(877)%20328-2932> ■ +1 781.577.4321
>>> <(781)%20577-4321>
>>> Unsubscribe from Marketing Messages/Manage Your Subscription Preferences
>>> - http://www.rocketsoftware.com/manage-your-email-preferences
>>> Privacy Policy - http://www.rocketsoftware.com/
>>> company/legal/privacy-policy
>>> ================================
>>>
>>> This communication and any attachments may contain confidential
>>> information of Rocket Software, Inc. All unauthorized use, disclosure or
>>> distribution is prohibited. If you are not the intended recipient, please
>>> notify Rocket Software immediately and destroy all copies of this
>>> communication. Thank you.
>>>
>>
>>
>


-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<https://www.amazon.com/gp/product/1617290459/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1617290459&linkCode=as2&tag=garygregory-20&linkId=cadb800f39946ec62ea2b1af9fe6a2b8>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1617290459>
JUnit in Action, Second Edition
<https://www.amazon.com/gp/product/1935182021/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182021&linkCode=as2&tag=garygregory-20&linkId=31ecd1f6b6d1eaf8886ac902a24de418%22>

<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182021>
Spring Batch in Action
<https://www.amazon.com/gp/product/1935182951/ref=as_li_tl?ie=UTF8&camp=1789&creative=9325&creativeASIN=1935182951&linkCode=%7B%7BlinkCode%7D%7D&tag=garygregory-20&linkId=%7B%7Blink_id%7D%7D%22%3ESpring+Batch+in+Action>
<http:////ir-na.amazon-adsystem.com/e/ir?t=garygregory-20&l=am2&o=1&a=1935182951>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to