At the very least, we should edit all the package-info.java files in core to indicate what the guarantees are. Then it would be in the javadoc.
Ralph > On Oct 5, 2016, at 11:57 PM, Gary Gregory <garydgreg...@gmail.com> wrote: > > Yeah, I think this was mentioned before. Depending on your IDE, you can cause > a warning or error to be generated if certain packages are used, at least you > can do that in Eclipse. I would only depend on log4j-api to have 100% BC. For > other modules, we do our best not to shoot you in the foot, Appenders and > such, but the util package is out of bounds IMO. > > Gary > > On Wed, Oct 5, 2016 at 11:48 PM, Steffen Offermann > <steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de>> wrote: > 100% agreed, I'm just mentioning it because it's a public class - and > apparently someone did depend on it in our team. :) > > > On 10/06/2016 08:46 AM, Gary Gregory wrote: > Depending on the Core's util package is a Bad Idea™ > > G > > On Wed, Oct 5, 2016 at 11:31 PM, Steffen Offermann > <steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de> > <mailto:steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de>>> > wrote: > > This is the constant that has been removed: > > /** > * Line separator. > */ > public static final String LINE_SEPARATOR = > PropertiesUtil.getProperties().getStringProperty("line.separator", > "\n"); > > > The file is > > > ./log4j-core/src/main/java/org/apache/logging/log4j/core/util/Constants.java > > Regards, > Steffen > > > > On 10/06/2016 08:27 AM, Steffen Offermann wrote: > > We are getting build errors now, because Constants.LINE_SEPARATOR has > been removed. > > > On 10/06/2016 05:48 AM, Ralph Goers wrote: > > Here is my +1 > > Ralph > > On Oct 2, 2016, at 1:11 PM, Ralph Goers > <ralph.go...@dslextreme.com <mailto:ralph.go...@dslextreme.com> > <mailto:ralph.go...@dslextreme.com <mailto:ralph.go...@dslextreme.com>> > <mailto:ralph.go...@dslextreme.com <mailto:ralph.go...@dslextreme.com> > <mailto:ralph.go...@dslextreme.com <mailto:ralph.go...@dslextreme.com>>>> > wrote: > > This is a vote to release Log4j 2.7, 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-1618: Fixed ClassCastException when using JUL > logging during shutdown. Thanks to Raman Gupta. > o LOG4J2-1620: 2.7-rc1: RollingFileAppender immediateFlush > default value should be true, not false. Thanks to Sascha Scholz. > 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. > o LOG4J2-1619: new Log4jLogEvent().toString() throws an NPE. > > 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 > <https://git-wip-us.apache.org/repos/asf/logging-log4j2.git> > <https://git-wip-us.apache.org/repos/asf/logging-log4j2.git > <https://git-wip-us.apache.org/repos/asf/logging-log4j2.git>>" and then "git > checkout > tags/log4j-2.7-rc2” > b) for an existing working copy to “git pull” and then “git > checkout tags/log4j-2.7-rc2” > Web Site: <http://rgoers.github.io/log4j2-site/index.html > <http://rgoers.github.io/log4j2-site/index.html> > <http://rgoers.github.io/log4j2-site/index.html > <http://rgoers.github.io/log4j2-site/index.html>>>http://rgoers.github.io/log4j2-site/index.html > <http://rgoers.github.io/log4j2-site/index.html> > <http://rgoers.github.io/log4j2-site/index.html > <http://rgoers.github.io/log4j2-site/index.html>> > > Artifacts: > https://repository.apache.org/content/repositories/orgapachelogging-1022 > <https://repository.apache.org/content/repositories/orgapachelogging-1022> > <https://repository.apache.org/content/repositories/orgapachelogging-1022 > <https://repository.apache.org/content/repositories/orgapachelogging-1022>> > > 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-1022/org/apache/logging/log4j/ > > <https://repository.apache.org/content/repositories/orgapachelogging-1022/org/apache/logging/log4j/> > > <https://repository.apache.org/content/repositories/orgapachelogging-1022/org/apache/logging/log4j/ > > <https://repository.apache.org/content/repositories/orgapachelogging-1022/org/apache/logging/log4j/>> > > Ralph > > > > > > > -- > aixigo AG - financial solutions & technology > Karl-Friedrich-Straße 68, 52072 Aachen, Germany > fon: +49 (0)241 559709-65 <tel:%2B49%20%280%29241%20559709-65> > <tel:%2B49%20%280%29241%20559709-65>, fax: +49 (0)241 559709-99 > <tel:%2B49%20%280%29241%20559709-99> <tel:%2B49%20%280%29241%20559709-99> > eMail: steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de> > <mailto:steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de>>, > web: http://www.aixigo.de <http://www.aixigo.de/> > > Amtsgericht Aachen - HRB 8057 > Vorstand: Erich Borsch, Christian Friedrich, Tobias Haustein > Vors. des Aufsichtsrates: Prof. Dr. Rüdiger von Nitzsch > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > <mailto:log4j-dev-unsubscr...@logging.apache.org> > <mailto:log4j-dev-unsubscr...@logging.apache.org > <mailto:log4j-dev-unsubscr...@logging.apache.org>> > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > <mailto:log4j-dev-h...@logging.apache.org> > <mailto:log4j-dev-h...@logging.apache.org > <mailto:log4j-dev-h...@logging.apache.org>> > > > > > -- > E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> > <mailto:garydgreg...@gmail.com <mailto:garydgreg...@gmail.com>> | > ggreg...@apache.org <mailto:ggreg...@apache.org> <mailto:ggreg...@apache.org > <mailto:ggreg...@apache.org>> > Java Persistence with Hibernate, Second Edition > <http://www.manning.com/bauer3/ <http://www.manning.com/bauer3/>> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/ > <http://www.manning.com/tahchiev/>> > Spring Batch in Action <http://www.manning.com/templier/ > <http://www.manning.com/templier/>> > Blog: http://garygregory.wordpress.com <http://garygregory.wordpress.com/> > <http://garygregory.wordpress.com/ <http://garygregory.wordpress.com/>> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory> > > > -- > aixigo AG - financial solutions & technology > Karl-Friedrich-Straße 68, 52072 Aachen, Germany > fon: +49 (0)241 559709-65 <tel:%2B49%20%280%29241%20559709-65>, fax: +49 > (0)241 559709-99 <tel:%2B49%20%280%29241%20559709-99> > eMail: steffen.offerm...@aixigo.de <mailto:steffen.offerm...@aixigo.de>, web: > http://www.aixigo.de <http://www.aixigo.de/> > > Amtsgericht Aachen - HRB 8057 > Vorstand: Erich Borsch, Christian Friedrich, Tobias Haustein > Vors. des Aufsichtsrates: Prof. Dr. Rüdiger von Nitzsch > > --------------------------------------------------------------------- > To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org > <mailto:log4j-dev-unsubscr...@logging.apache.org> > For additional commands, e-mail: log4j-dev-h...@logging.apache.org > <mailto:log4j-dev-h...@logging.apache.org> > > > > > -- > E-Mail: garydgreg...@gmail.com <mailto:garydgreg...@gmail.com> | > ggreg...@apache.org <mailto: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 <http://garygregory.wordpress.com/> > Home: http://garygregory.com/ <http://garygregory.com/> > Tweet! http://twitter.com/GaryGregory <http://twitter.com/GaryGregory>