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> 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>> 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/uti
>> l/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>>> 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>" 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/log4j
>> 2-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>
>>
>>                 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/>
>>
>>                 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>, fax: +49
>> (0)241 559709-99 <tel:%2B49%20%280%29241%20559709-99>
>>     eMail: steffen.offerm...@aixigo.de <mailto:steffen.offermann@aixi
>> go.de>, web: 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/
>> Tweet! http://twitter.com/GaryGregory
>>
>
>
> --
> aixigo AG - financial solutions & technology
> Karl-Friedrich-Straße 68, 52072 Aachen, Germany
> fon: +49 (0)241 559709-65, fax: +49 (0)241 559709-99
> eMail: steffen.offerm...@aixigo.de, web: 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
> 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

Reply via email to