You probably do not want to depend directly on classes in org.apache.logging.log4j.core.util.
Gary On Tue, Sep 27, 2016 at 8:25 PM, Leon Finker <leon...@gmail.com> wrote: > FYI, probably not important, but noticed that this was removed: > org.apache.logging.log4j.core.util.Constant.LINE_SEPARATOR. For some > reason we used it in one of custom plugins (probably copied from log4j2 > existing classes as a starting point). So it threw class not found > exception in 2.7. It was easy to fix since plugin is under our control. > > On 2016-09-27 23:10 (-0400), Gary Gregory <garydgreg...@gmail.com> wrote: > > I'm going to go to +1 since the software can be built soup to nuts with > 'mvn > > clean install'. > > > > Gary > > > > On Mon, Sep 26, 2016 at 11:06 PM, Ralph Goers < > ralph.go...@dslextreme.com> > > wrote: > > > > > Matt, note that it didn’t fail when Gary ran mvn clean install. If you > > > run mvn install -DskipTests followed by mvn test it fails. This tells > me > > > there is something funny going on in the tests that requires the tests > to > > > be run as part of the full lifecycle. > > > > > > Ralph > > > > > > On Sep 26, 2016, at 9:51 PM, Matt Sicker <boa...@gmail.com> wrote: > > > > > > That OSGi test failure could be related to the fix for LOG4J2-351, > though > > > I'm surprised it hasn't caused a test failure until now. > > > > > > On 26 September 2016 at 23:42, Ralph Goers <ralph.go...@dslextreme.com > > > > > wrote: > > > > > >> When I looked at it the Log4j1Configuration stuff said it was > > >> experimental so if it has issues I don’t think it matters. > > >> > > >> Believe it or not I have never run mvn test all by itself. I pretty > much > > >> only do mvn clean install. So I have no idea if this is new or has > always > > >> been this way. > > >> > > >> Ralph > > >> > > >> On Sep 26, 2016, at 9:15 PM, Gary Gregory <garydgreg...@gmail.com> > wrote: > > >> > > >> Based in the src distribution: MD5, SHA1, ASC OK. > > >> > > >> mvn clean install OK. > > >> > > >> BUT I had to hack the tset org.apache.log4j.config.Log4j1 > > >> ConfigurationFactoryTest.testSystemProperties2() and add a > > >> "appender.stop(10, TimeUnit.SECONDS);" to get the test to pass; this > is > > >> pushed to Git master. > > >> > > >> RAT check OK. > > >> > > >> mvn clirr:check -pl log4j-api OK > > >> > > >> mvn clirr:check -pl log4j-1.2-api FAILS due to changes > > >> in org.apache.log4j.config.Log4j1ConfigurationFactory which is OK by > me. > > >> > > >> Then I ran: > > >> > > >> mvn install -DskipTests OK > > >> mvn package -DskipTests OK > > >> > > >> and: > > >> > > >> mvn test > > >> > > >> gives me: > > >> -- > > >> Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.753 > sec > > >> <<< FAILURE! - in org.apache.logging.log4j.osgi. > > >> felix.FelixLoadApiBundleTest > > >> testMissingImportOfCoreOsgiPackage(org.apache.logging.log4j. > > >> osgi.felix.FelixLoadApiBundleTest) Time elapsed: 1.389 sec <<< > ERROR! > > >> org.osgi.framework.BundleException: Activator start error in bundle > > >> org.apache.logging.log4j.core [2]. > > >> Caused by: java.lang.NoClassDefFoundError: > org/apache/logging/log4j/Logge > > >> r > > >> Caused by: java.lang.ClassNotFoundException: > > >> org.apache.logging.log4j.Logger not found by > > >> org.apache.logging.log4j.core [2] > > >> > > >> testSimpleLogInAnOsgiContext(org.apache.logging.log4j.osgi. > felix.FelixLoadApiBundleTest) > > >> Time elapsed: 0.172 sec <<< ERROR! > > >> org.osgi.framework.BundleException: Activator start error in bundle > > >> org.apache.logging.log4j.core [2]. > > >> Caused by: java.lang.NoClassDefFoundError: > org/apache/logging/log4j/Logge > > >> r > > >> Caused by: java.lang.ClassNotFoundException: > > >> org.apache.logging.log4j.Logger not found by > > >> org.apache.logging.log4j.core [2] > > >> > > >> Tests run: 3, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 2.309 > sec > > >> <<< FAILURE! - in org.apache.logging.log4j.osgi. > > >> equinox.EquinoxLoadApiBundleTest > > >> testMissingImportOfCoreOsgiPackage(org.apache.logging.log4j. > > >> osgi.equinox.EquinoxLoadApiBundleTest) Time elapsed: 1.371 sec <<< > > >> ERROR! > > >> org.osgi.framework.BundleException: The activator > > >> org.apache.logging.log4j.core.osgi.Activator for bundle > > >> org.apache.logging.log4j.core is invalid > > >> Caused by: java.lang.NoClassDefFoundError: > org/apache/logging/log4j/Logge > > >> r > > >> Caused by: java.lang.ClassNotFoundException: > > >> org.apache.logging.log4j.Logger > > >> > > >> testSimpleLogInAnOsgiContext(org.apache.logging.log4j.osgi.e > > >> quinox.EquinoxLoadApiBundleTest) Time elapsed: 0.293 sec <<< ERROR! > > >> org.osgi.framework.BundleException: The activator > > >> org.apache.logging.log4j.core.osgi.Activator for bundle > > >> org.apache.logging.log4j.core is invalid > > >> Caused by: java.lang.NoClassDefFoundError: > org/apache/logging/log4j/Logge > > >> r > > >> Caused by: java.lang.ClassNotFoundException: > > >> org.apache.logging.log4j.Logger > > >> > > >> > > >> Results : > > >> > > >> Tests in error: > > >> EquinoxLoadApiBundleTest>AbstractLoadBundleTest. > testMissingImportOfCoreOsgiPackage:174 > > >> ╗ Bundle > > >> EquinoxLoadApiBundleTest>AbstractLoadBundleTest. > testSimpleLogInAnOsgiContext:131 > > >> ╗ Bundle > > >> FelixLoadApiBundleTest>AbstractLoadBundleTest. > testMissingImportOfCoreOsgiPackage:174 > > >> ╗ Bundle > > >> FelixLoadApiBundleTest>AbstractLoadBundleTest. > testSimpleLogInAnOsgiContext:131 > > >> ╗ Bundle > > >> > > >> Tests run: 508, Failures: 0, Errors: 4, Skipped: 3 > > >> -- > > >> > > >> Any ideas on getting the OSGi tests to pass? > > >> > > >> Gary > > >> > > >> On Mon, Sep 26, 2016 at 8:50 AM, 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 > > >>> > > >>> > > >> > > >> > > >> -- > > >> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > > >> 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 > > >> > > >> > > >> > > > > > > > > > -- > > > Matt Sicker <boa...@gmail.com> > > > > > > > > > > > > > > > -- > > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > > 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 > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > > -- E-Mail: garydgreg...@gmail.com | ggreg...@apache.org 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