Yes, I am aware of that. I believe I wrote the code.  As I said, the 
implication of the current setting is that the API will can bind with either a 
2.0.0 implementation or a 2.1.0 implementation and will work fine.  If the API 
was changed for 2.1 in such a way that that is true then fine.  But if new 
stuff was added that requires an implementation that matches the 2.1 API then 
only “2.1.0” should be in the COMPATIBLE_API_VERSIONS list.

Ralph

On Oct 8, 2014, at 6:41 PM, Matt Sicker <[email protected]> wrote:

> ProviderUtil.validVersion(String) checks all the values from 
> COMPATIBLE_API_VERSIONS for compatibility, not just one. For reference:
> 
>     private static final String[] COMPATIBLE_API_VERSIONS = {
>         "2.0.0", "2.1.0"
>     };
> 
>     private static boolean validVersion(final String version) {
>         for (final String v : COMPATIBLE_API_VERSIONS) {
>             if (version.startsWith(v)) {
>                 return true;
>             }
>         }
>         return false;
>     }
> 
> 
> On 8 October 2014 18:41, Ralph Goers <[email protected]> wrote:
> Log4j API is trying to bind with an implementation. It wants to bind only 
> with an implementation that is compatible with the API.  To my understanding 
> that would mean it can only bind with a 2.1.0 implementation.
> 
> Ralph
> 
> On Oct 8, 2014, at 2:06 PM, Matt Sicker <[email protected]> wrote:
> 
>> I believe this means that log4j-core requires API version 2.1.0. log4j-api 
>> 2.1 works with providers that require 2.0.0 or 2.1.0.
>> 
>> On 8 October 2014 12:22, Ralph Goers <[email protected]> wrote:
>> I am not sure this change is correct.  If a logging implementation is 
>> provided that is at version 2.0 is it going to work with the 2.1 API? If not 
>> then 2.1 should be the only compatible version (and skip 2.0 
>> implementations).
>> 
>> Ralph
>> 
>> 
>> Begin forwarded message:
>> 
>>> From: [email protected]
>>> Subject: [2/2] git commit: [LOG4J2-845] Add API version 2.1.0 to 
>>> ProviderUtil.
>>> Date: September 21, 2014 at 9:44:27 AM MST
>>> To: [email protected]
>>> Reply-To: [email protected]
>>> 
>>> [LOG4J2-845] Add API version 2.1.0 to ProviderUtil.
>>> 
>>> 
>>> Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
>>> Commit: 
>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a26dab9b
>>> Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a26dab9b
>>> Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a26dab9b
>>> 
>>> Branch: refs/heads/master
>>> Commit: a26dab9b460b3430f59935163dd6c695b8d9ba6a
>>> Parents: 93fee7f
>>> Author: Matt Sicker <[email protected]>
>>> Authored: Sun Sep 21 11:44:28 2014 -0500
>>> Committer: Matt Sicker <[email protected]>
>>> Committed: Sun Sep 21 11:44:28 2014 -0500
>>> 
>>> ----------------------------------------------------------------------
>>> .../main/java/org/apache/logging/log4j/util/ProviderUtil.java    | 2 +-
>>> log4j-core/src/main/resources/META-INF/log4j-provider.properties | 4 ++--
>>> src/changes/changes.xml                                          | 3 +++
>>> 3 files changed, 6 insertions(+), 3 deletions(-)
>>> ----------------------------------------------------------------------
>>> 
>>> 
>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>> ----------------------------------------------------------------------
>>> diff --git 
>>> a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java 
>>> b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>> index 7fbbfd5..27237f0 100644
>>> --- 
>>> a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>> +++ 
>>> b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java
>>> @@ -41,7 +41,7 @@ public final class ProviderUtil {
>>>     private static final String API_VERSION = "Log4jAPIVersion";
>>> 
>>>     private static final String[] COMPATIBLE_API_VERSIONS = {
>>> -        "2.0.0"
>>> +        "2.0.0", "2.1.0"
>>>     };
>>> 
>>>     private static final Logger LOGGER = StatusLogger.getLogger();
>>> 
>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>> ----------------------------------------------------------------------
>>> diff --git 
>>> a/log4j-core/src/main/resources/META-INF/log4j-provider.properties 
>>> b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>> index b13b0b8..ae4a306 100644
>>> --- a/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>> +++ b/log4j-core/src/main/resources/META-INF/log4j-provider.properties
>>> @@ -14,5 +14,5 @@
>>> # limitations under the License.
>>> 
>>> LoggerContextFactory = 
>>> org.apache.logging.log4j.core.impl.Log4jContextFactory
>>> -Log4jAPIVersion = 2.0.0
>>> -FactoryPriority= 10
>>> \ No newline at end of file
>>> +Log4jAPIVersion = 2.1.0
>>> +FactoryPriority= 10
>>> 
>>> http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a26dab9b/src/changes/changes.xml
>>> ----------------------------------------------------------------------
>>> diff --git a/src/changes/changes.xml b/src/changes/changes.xml
>>> index c201bb3..319cb64 100644
>>> --- a/src/changes/changes.xml
>>> +++ b/src/changes/changes.xml
>>> @@ -24,6 +24,9 @@
>>>   </properties>
>>>   <body>
>>>     <release version="2.1" date="2014-??-??" description="Bug fixes and 
>>> enhancements">
>>> +      <action issue="LOG4J2-845" dev="mattsicker" type="update">
>>> +        Add Log4j API 2.1.0 and update Log4j Core likewise.
>>> +      </action>
>>>       <action issue="LOG4J2-833" dev="rpopma" type="fix">
>>>         Documentation: add Runtime Dependencies link to left nav-bar on 
>>> site.
>>>       </action>
>>> 
>> 
>> 
>> 
>> 
>> -- 
>> Matt Sicker <[email protected]>
> 
> 
> 
> 
> -- 
> Matt Sicker <[email protected]>

Reply via email to