I also did not see Mikael's -1 email... Strange. I agree we should not break compatibility like this.
On Thu, Sep 29, 2016 at 12:55 AM, Ralph Goers <ralph.go...@dslextreme.com> wrote: > I don’t know what is going on with my email but I never saw your -1 email. > Obviously, I see it now. > > I agree that we should not be breaking compatibility like this. > > Ralph > > On Sep 28, 2016, at 7:42 AM, Mikael Ståldal <mikael.stal...@magine.com> > wrote: > > I fixed the Kafka issue and pushed it to master branch. > > However, I have another concern, what timeout value is actually passed in > to AbstractManager.releaseSub ? > > On Wed, Sep 28, 2016 at 3:51 PM, Mikael Ståldal <mikael.stal...@magine.com > > wrote: > >> -1 since the Kafka appender now only works with Kafka client (and thus >> server) 0.9+, even though we agreed to keep compatibility with 0.8 for the >> time being: >> >> https://issues.apache.org/jira/browse/LOG4J2-1390 >> >> The problem appeared with commit 170469514b374eb5a5a33bde6936162fd608f097 >> by Gary in KafkaManager.java (method releaseSub). >> >> I get this error with kafka-clients 0.8.2.2: >> >> java.lang.NoSuchMethodError: org.apache.kafka.clients.produ >> cer.Producer.close(JLjava/util/concurrent/TimeUnit;)V >> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaManage >> r.releaseSub(KafkaManager.java:61) >> at org.apache.logging.log4j.core.appender.AbstractManager.stop( >> AbstractManager.java:85) >> at org.apache.logging.log4j.core.appender.mom.kafka.KafkaAppend >> er.stop(KafkaAppender.java:107) >> at org.apache.logging.log4j.core.config.AbstractConfiguration.s >> top(AbstractConfiguration.java:349) >> at org.apache.logging.log4j.core.LoggerContext.stop(LoggerConte >> xt.java:329) >> at org.apache.logging.log4j.core.AbstractLifeCycle.stop(Abstrac >> tLifeCycle.java:127) >> at org.apache.logging.log4j.core.LoggerContext$1.run(LoggerCont >> ext.java:275) >> at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRe >> gistry$RegisteredCancellable.run(DefaultShutdownCallbackReg >> istry.java:104) >> at org.apache.logging.log4j.core.util.DefaultShutdownCallbackRe >> gistry.run(DefaultShutdownCallbackRegistry.java:74) >> at java.lang.Thread.run(Thread.java:745) >> >> >> >> >> On Mon, Sep 26, 2016 at 5:50 PM, Ralph Goers <ralph.go...@dslextreme.com> >> wrote: >> >>> This is a vote to release Log4j 2.6.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 (or more if required). 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: >>> o LOG4J2-1578: RoutingAppender can be configured with scripts. Add Script >>> in a Routes element. >>> o LOG4J2-1597: Add a ScriptAppenderSelector to create an Appender >>> specified by a Script. >>> o LOG4J2-1349: (GC) Added support for garbage-free ThreadContext map. >>> Disabled by default, users need to enable this explicitly. >>> o LOG4J2-1447: (GC) Changed LogEvent's internal data structure for context >>> data to be garbage-free. Added method LogEvent#getContextData(), deprecated >>> method #getContextMap(). >>> o LOG4J2-1010: Users can now inject context data from other sources than >>> ThreadContext. Values can be any Object, not just Strings. Thanks to Mikael >>> Ståldal. >>> o LOG4J2-1568: Added support for java.util.concurrent.LinkedTransferQueue >>> to AsyncAppender. >>> o LOG4J2-1430: Added optional support for Conversant >>> DisruptorBlockingQueue in AsyncAppender. Thanks to John Cairns. >>> o LOG4J2-1439: Added optional support for JCTools MPSC bounded lock-free >>> queue in AsyncAppender. Thanks to Anthony Maire. >>> o LOG4J2-1558: SocketAppender now supports IO buffering. >>> o LOG4J2-1557: Add a Builder for the SocketAppender (deprecates factory >>> method). >>> o LOG4J2-1609: Add a Builder to ServletAppender and deprecate factory >>> method. >>> o LOG4J2-1553: AbstractManager now implements AutoCloseable. >>> o LOG4J2-1528: Added ability to generate Log4j 2-style XML configuration >>> file from ConfigurationBuilder. >>> o LOG4J2-1181: Added Logging API for Scala 2.10 and 2.11. >>> o LOG4J2-1512: Added options to exclude stack trace from JSON, XML and >>> YAML layouts. >>> o LOG4J2-1539: Added Core API Configurator.shutdown(LoggerContext, long, >>> TimeUnit). >>> o LOG4J2-1501: FileAppender is now able to create files on-demand. >>> o LOG4J2-1504: RollingFileAppender is now able to create files on-demand. >>> o LOG4J2-1471: [PatternLayout] Add an ANSI option to %xThrowable. >>> o LOG4J2-1472: org.apache.logging.log4j.core.LoggerContext now implements >>> Closeable. >>> o LOG4J2-1458: [PatternLayout] Add an ANSI option to %message. >>> o LOG4J2-1505: Create a Builder for the FileAppender plugin to facilitate >>> adding attributes in the future. >>> o LOG4J2-1507: Allow Builders to be completely generic. >>> o LOG4J2-1508: Allow a Builder to subclass another Builder. >>> o LOG4J2-1516: Add ThreadContextMap2 interface supporting method >>> putAll(Map<String, String>). Thanks to Gary Gregory. >>> o LOG4J2-1519: Add ThreadContext.putAll(Map<String, String>). >>> o LOG4J2-1520: Add JUnit Rule implementations to manage the thread context. >>> o LOG4J2-1547: The Core AbstractConfiguration now tracks its LoggerContext >>> and add Configuration.getLoggerContext(). >>> o LOG4J2-1540: The Core AbstractManager now tracks its LoggerContext. >>> o LOG4J2-1577: Add a Builder to the RoutingAppender and deprecate factory >>> method. >>> >>> Fixed Bugs: >>> o LOG4J2-1611: Improved performance of context data injector for web >>> applications to be on par with standalone applications. >>> o LOG4J2-1591: Introduced new interface LifeCycle2 with >>> stop(long,TimeUnit) method to avoid breaking backwards compatibility with >>> new Configurator.shutdown(LoggerContext, long, TimeUnit) API. >>> o LOG4J2-1590: Fixed issue with filters extending AbstractFilter that did >>> not override methods with unrolled varargs. >>> o LOG4J2-1583: Fixed scrambled log messages triggered by nested logging >>> from toString() method of a logging parameter object. Thanks to Larry West. >>> o LOG4J2-1259: Log4j threads are no longer leaking on Tomcat shutdown. >>> Thanks to Misagh Moayyed, Steffen Offermann. >>> o LOG4J2-1051: When starting on Google App Engine, Interpolator now >>> suppresses the NoClassDefFoundError stack trace for the jvmrunargs lookup. >>> Thanks to Lukasz Lenart. >>> o LOG4J2-1582: When initializing on platforms where JMX is not available, >>> Interpolator component no longer prints stack trace for warning messages. >>> o LOG4J2-1581: Unregistering JMX components no longer prints a stack trace >>> when the MBean has already been unregistered. >>> o LOG4J2-1313: Support Property values to be specified in configuration as >>> a value attribute as well as an element. Thanks to Philipp Knobel, Leon >>> Finker. >>> o LOG4J2-1575: (GC) LoggerConfig now stores configuration properties in a >>> List, not a Map to prevent creating temporary Iterator objects. Added >>> method LoggerConfig#getPropertyList(), deprecated method #getProperties(). >>> o LOG4J2-1457: Fixed class loader deadlock when using async logging and >>> extended stack trace pattern. Thanks to Leon Finker. >>> o LOG4J2-1563: Fix to prevent Log4j 2.6.2 and higher from losing >>> exceptions when a security manager is present. Thanks to Jason Tedor. >>> o LOG4J2-1530: Fixed issue where LogEvent.getContextStack() returned null. >>> o LOG4J2-1518: Prevent deadlock in Async Loggers when queue is full and >>> logged Object's toString() logs another message. Thanks to Leon Finker. >>> o LOG4J2-1542: Prevent ArrayIndexOutOfBoundsException in >>> ParameterizedMessage.formatTo for single-char or empty messages. Thanks to >>> Rogério Lecarião Leite. >>> o LOG4J2-1549: Fixed issue where >>> AsyncLoggerContextSelector+PropertiesConfigurationBuilder defaulted to >>> includeLocation=true. Thanks to Jason Bedard. >>> o LOG4J2-1562: Prevent SocketAppender memory usage from growing unbounded >>> if it cannot connect to a server. >>> o LOG4J2-1559: Prevent NPE in Level.isInRange. Thanks to Andrey Plotkin. >>> o LOG4J2-1511: DynamicThresholdFilter filtered incorrectly when params >>> were passed as individual arguments instead of varargs. Thanks to Srikanth >>> Surukuntu. >>> o LOG4J2-1548: [CronTriggeringPolicy] ConfigurationScheduler scheduled the >>> task infinitely after first fire. >>> o LOG4J2-1506: Log4j should not unregister JMX MBeans when >>> log4j2.disable.jmx property is true. Thanks to Johannes Schleger. >>> o LOG4J2-1490: Log4j2 should postpone creating log file until the appender >>> actually receives an event. Thanks to Krzysztof Taborski. >>> o LOG4J2-1320: Support loading custom plugins from jar files and >>> directories whose classpath entries use the "vfs" URL protocol. Thanks to >>> Paresh Varke, Pierrick Hymbert. >>> o LOG4J2-1541: Fix file handle resource leak in >>> XmlConfiguration.XmlConfiguration(ConfigurationSource). >>> o LOG4J2-1538: Prevent NPE when dynamically removing filters. Thanks to >>> Igor Karpov. >>> o LOG4J2-1532: Attributes were not merged properly in composite >>> configurations. >>> o LOG4J2-1529: Attributes were not merged properly in composite >>> configurations. Thanks to Sridevi Narra. >>> o LOG4J2-1527: Prevent NPE in RingBufferLogEvent.getFormattedMessage() >>> when used in web applications. Thanks to Jose Leon. >>> o LOG4J2-905: Added ability to disable (date) lookup completely for >>> compatibility with other libraries like Camel. Thanks to Moritz Löser. >>> o LOG4J2-1526: Added support for setting StatusLogger destination in >>> ConfigurationBuilder. >>> o LOG4J2-1448: Allow comma separated agents, host list to be passed to >>> FlumeAppender. Thanks to Keith Laban. >>> o LOG4J2-1500: Merging configurations failed with an NPE when comparing >>> Nodes with different attributes. Thanks to Jose Leon. >>> o LOG4J2-1482: Fixed improper header in CsvParameterLayout. Thanks to >>> Sumit Singhal. >>> o LOG4J2-1199: Documented that JVM Input Arguments Lookup (JMX) is not >>> available on Google App Engine. >>> o LOG4J2-1438: (GC) Added method getParameter() to ObjectMessage (and >>> ReusableObjectMessage). >>> o LOG4J2-1488: (GC) Fixed ISO8601 %date conversion pattern with a period >>> '.' separator for milliseconds is now garbage free. Thanks to Richard >>> Zschech. >>> o LOG4J2-1489: (GC) Fixed %date conversion patterns with a timezone >>> parameter are now garbage free. Thanks to Richard Zschech. >>> o LOG4J2-1279: Prevent NullPointerException in >>> FastDateParser$TimeZoneStrategy. Thanks to Tony Baines. >>> o LOG4J2-1341: (GC) HighlightConverter and StyleConverter are now GC-free. >>> Thanks to Richard Zschech. >>> o LOG4J2-1467: [OSGi] Fixed missing import package. Thanks to Ralf, Gary >>> Gregory. >>> o LOG4J2-351: [OSGi] Fixed wrong Fragment-Host in manifest files. Thanks >>> to Roland Weiglhofer. >>> o LOG4J2-1313: Properties declared in configuration can now have their >>> value either in the element body or in an attribute named "value". Thanks >>> to Philipp Knobel. >>> o LOG4J2-1235: >>> org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy was not >>> working correctly. Thanks to Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky. >>> o LOG4J2-1502: Fixed issue where CsvParameterLayout and CsvLogEventLayout >>> inserted NUL characters if data starts with {, (, [ or " Thanks to Sumit >>> Singhal. >>> o LOG4J2-1573: Layout is no longer optional. Thanks to Steffen Offermann. >>> o LOG4J2-1608: ServletAppender does not provide throwable object to >>> ServletContext. >>> o LOG4J2-1599: Prevent potential NPE in >>> org.apache.logging.log4j.message.ParameterFormatter.formatMessage3(StringBuilder, >>> char[], int, Object[], int, int[]). >>> o LOG4J2-1600: Prevent potential NPE due to >>> org.apache.logging.log4j.core.layout.MarkerPatternSelector.createSelector(PatternMatch[], >>> String, boolean, boolean, Configuration). >>> o LOG4J2-1601: Prevent potential NPE due to >>> org.apache.logging.log4j.core.layout.ScriptPatternSelector.createSelector(AbstractScript, >>> PatternMatch[], String, boolean, boolean, Configuration). >>> o LOG4J2-1602: Prevent potential NPE in >>> org.apache.logging.log4j.core.util.datetime.FormatCache.MultipartKey.equals(Object) >>> when object is null. >>> o LOG4J2-1603: Redo hashCode() and equals() methods in >>> org.apache.logging.log4j.core.net.ssl classes. >>> o LOG4J2-1610: Add targetNamespace to log4j-config.xsd. GitHub #43. Thanks >>> to Shubhankar. >>> >>> Changes: >>> o LOG4J2-1604: Log4j2 TcpSocketServer in background. Thanks to Colin >>> Hillman. >>> o LOG4J2-1574: Allow the RollingFileAppender to use default pattern layout. >>> o LOG4J2-1556: Custom Log4j threads now extend Log4jThread. >>> o LOG4J2-1605: Improve error messages for TcpSocketServer and >>> UdpSocketServer. >>> o LOG4J2-1458: Updated Jackson from 2.7.5 to 2.8.0. >>> o LOG4J2-1494: Updated Jackson from 2.8.0 to 2.8.1. >>> o LOG4J2-1569: Updated Jackson from 2.8.1 to 2.8.2. >>> o LOG4J2-1598: Updated Jackson from 2.8.2 to 2.8.3. >>> o LOG4J2-1495: Updated LMAX Disruptor from 3.3.4 to 3.3.5. >>> o LOG4J2-1496: Updated Kafka client from 0.9.1.0 to 0.10.0.0. >>> o LOG4J2-1533: Updated Kafka client from 0.10.0.0 to 0.10.0.1. >>> o LOG4J2-1487: Updated JMS test from ActiveMQ 5.13.3 to 5.13.4. >>> o LOG4J2-1551: Updated JMS test from ActiveMQ 5.13.4 to 5.14.0. >>> o LOG4J2-1543: Removed deprecated Core API >>> org.apache.logging.log4j.core.util.Constants.UTF_8. >>> o LOG4J2-1544: Removed deprecated Core API >>> org.apache.logging.log4j.core.util.Assert.requireNonNull(T, String). >>> o LOG4J2-1545: Removed deprecated Web API >>> org.apache.logging.log4j.web.WebLookup.getServletContext(). >>> >>> Tag: >>> >>> >>> 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.7-rc1” >>> b) for an existing working copy to “git pull” and then “git checkout >>> tags/log4j-2.7-rc1” >>> >>> Web Site: >>> <http://rgoers.github.io/log4j2-site/index.html>http://rgoers.github.io/log4j2-site/index.html >>> >>> Artifacts: >>> https://repository.apache.org/content/repositories/orgapachelogging-1021/ >>> >>> 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-1021/org/apache/logging/log4j/ >>> >>> Ralph >>> >>> >> >> >> -- >> [image: MagineTV] >> >> *Mikael Ståldal* >> Senior software developer >> >> *Magine TV* >> mikael.stal...@magine.com >> Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com >> >> Privileged and/or Confidential Information may be contained in this >> message. If you are not the addressee indicated in this message >> (or responsible for delivery of the message to such a person), you may >> not copy or deliver this message to anyone. In such case, >> you should destroy this message and kindly notify the sender by reply >> email. >> > > > > -- > [image: MagineTV] > > *Mikael Ståldal* > Senior software developer > > *Magine TV* > mikael.stal...@magine.com > Grev Turegatan 3 | 114 46 Stockholm, Sweden | www.magine.com > > Privileged and/or Confidential Information may be contained in this > message. If you are not the addressee indicated in this message > (or responsible for delivery of the message to such a person), you may not > copy or deliver this message to anyone. In such case, > you should destroy this message and kindly notify the sender by reply > email. > > >