My $0.02...

Extract LF5 and chainsaw 1.x from log4j.jar and release them as separate jars, thus removing bloat from the Log4j library.  They are not libraries, but desktop tools, and can depend on the absolute latest version of Java for all I care.

Log4j proper, the logging library, on the other hand, should depend upon the minimum JVM it claims to support.  Clearly whoever made those 1.4 specific additions to TelnetAppender and NameAbbreviator weren't using proper due diligence in developing against Java 1.3 nor testing compilation under Java 1.3.

Unless it is impossible to simulate the 1.4-specific actions using Java 1.3 API, we should make these 1.3 compatible.  If it is determined that we simply can't replicate these actions using Java 1.3, then we might as well jump to Java 1.5.  Java 1.4 isn't a significant enough improvement in capability to warrant the new dependency.  If we make the move, then lets move to something that provides real value, and that's Java 1.5+.

Regarding building using Maven, as long as due diligence has been taken to successfully compile at least once against Java 1.3 (using Ant or IDE), then building under Maven and JDK1.4, or even a later JDK, should be fine for release.  Just make sure javac source/target values have been set to 1.3 (or whatever minimum version of Java we decide we should support).


Jake

On Thu, 15 Mar 2012 15:41:12 +0100
 Christian Grobmeier <grobme...@gmail.com> wrote:
Fellows,

Gary Gregory, our mate over from Commons-Land (et al) has created a new feature:
https://issues.apache.org/bugzilla/show_bug.cgi?id=52913

I asked him if it would conform to jdk 1.3. He tested and said his
change would, but there are errors on other components. Please see
below. Basically this error says log4j is working with jdk 1.4 only.

Can anybody comment?

I would like to propose 2 things... (again):

1) drop jdk 1.3 support. It is pita. It is very unlikely that anybody
out there uses 1.3. Please lets kick it. I have not run into the error
below, I am not even sure jdk 1.3 is testable. Drop it and take 1.4 as
a minimum.

2) Optional: level release number from 1.2.16 to 1.4.0. 1.3.0 is
taken, lets bury it. 1.4 is nice, because it can be taken as indicator
for support of jdk 1.4.2. Optional, because we should try to keep bc,
just level the jdk.

3) allow reformatting of source code and others. As it seems we are
supporting 1.2.x/1.4.x a long time, we should take it serious and
improve readability. It would help lots and probably we can have some
help from other community when they look at a 21st century code
formatting.

Thoughts?

Cheers
Christian



---------- Forwarded message ----------
From: Gary Gregory <garydgreg...@gmail.com>
Date: Thu, Mar 15, 2012 at 2:25 PM
Subject: Re: Log4J patch
To: Christian Grobmeier <grobme...@gmail.com>


On Thu, Mar 15, 2012 at 5:46 AM, Christian Grobmeier
<grobme...@gmail.com> wrote:

Gary, thanks for the patch.
I have not looked at it in detail, but I am willing to commit it. My
plan is to get a release candidate done pretty soon (probably this
weekend).

One thing to know: is this patch good with jdk 1.3 (no joke)? If not I
can't patch it and you should look at log4j2.0
If you could tell me that, you would save me some time :-)


The compiler does not complain about my bit but there are other parts
of log4j that do not compile with Ant 1.6.5 and Java 1.3.1_28:

build.core:
    [javac] Compiling 197 source files to
C:\svn\org\apache\log4j\trunk\dist\classes
    [javac] C:\svn\org\apache\log4j\trunk\src\main\java\org\apache\log4j\lf5\viewer\LogBrokerMonitor.java:1277:
warning: getFontList() in java.awt.Toolkit has b
een deprecated
    [javac]       fonts = tk.getFontList();
    [javac]                 ^
    [javac] C:\svn\org\apache\log4j\trunk\src\main\java\org\apache\log4j\net\TelnetAppender.java:194:
cannot resolve symbol
    [javac] symbol  : method isClosed  ()
    [javac] location: class java.net.ServerSocket
    [javac]       while(!serverSocket.isClosed()) {
    [javac]                          ^
    [javac] C:\svn\org\apache\log4j\trunk\src\main\java\org\apache\log4j\net\TelnetAppender.java:215:
cannot resolve symbol
    [javac] symbol  : method isClosed  ()
    [javac] location: class java.net.ServerSocket
    [javac]           if (!serverSocket.isClosed()) {
    [javac]                            ^
    [javac] C:\svn\org\apache\log4j\trunk\src\main\java\org\apache\log4j\pattern\NameAbbreviator.java:230:
cannot resolve symbol
    [javac] symbol  : method indexOf  (java.lang.String,int)
    [javac] location: class java.lang.StringBuffer
    [javac]       for(int pos = buf.indexOf(".", nameStart);
    [javac]                        ^
    [javac] C:\svn\org\apache\log4j\trunk\src\main\java\org\apache\log4j\pattern\NameAbbreviator.java:232:
cannot resolve symbol
    [javac] symbol  : method indexOf  (java.lang.String,int)
    [javac] location: class java.lang.StringBuffer
    [javac]         pos = buf.indexOf(".", pos + 1)) {
    [javac]                  ^
    [javac] 4 errors
    [javac] 1 warning

I could not use Maven 2.2.1 or 3.0.4 with Java 1.3.1_28.

Running 'ant javadoc' generate 180 warnings.

...

Under Java 1.4.2_19, I get 100 javadoc warnings, 1 javadoc error and 2
compiler warnings. Then the build fails with:

Execute failed: java.io.IOException: CreateProcess: mvn site error=2

I assume because it found Maven 3.0.4. If I point MAVEN_HOME to 2.2.1
it blows up the same. With Maven 2.0.11, same problem.

Running Maven 2.0.11 on Java 1.4.2 with 'm2 clean test' shows all
sorts of errors.

At this point, I give trying with old dead Java versions.

Gary


Cheers
Christian

On Thu, Mar 15, 2012 at 2:47 AM, Gary Gregory <garydgreg...@gmail.com> wrote:
> Hi Christian:
>
> I just created and patched
> https://issues.apache.org/bugzilla/show_bug.cgi?id=52913
>
> What do you think are the odds of getting this in 1.2.17?
>
> Thank you,
> Gary

--
http://www.grobmeier.de
https://www.timeandbill.de

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org
For additional commands, e-mail: log4j-dev-h...@logging.apache.org

Reply via email to