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>

Reply via email to