On Wed, Sep 28, 2016 at 7:42 AM, Mikael Ståldal <[email protected]>
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 ?
>
releaseSub() is called
by org.apache.logging.log4j.core.appender.AbstractManager.stop(long,
TimeUnit) and AbstractManager.stop(long, TimeUnit) is called from many
places.
For example, org.apache.logging.log4j.core.appender.AbstractManager.close():
@Override
public void close() {
stop(AbstractLifeCycle.DEFAULT_STOP_TIMEOUT,
AbstractLifeCycle.DEFAULT_STOP_TIMEUNIT);
}
Gary
>
> On Wed, Sep 28, 2016 at 3:51 PM, Mikael Ståldal <[email protected]
> > 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 <[email protected]>
>> 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*
>> [email protected]
>> 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*
> [email protected]
> 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.
>
--
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