To whom it may concern,
I feel that the differences between log4j and the JSR47 API outlined
at
the following URL are significant:
The company I work for has just recently made large steps to change
over
to the Java platform for use with new development. As part of
this
process I have been learning about almost every major JDK/API.
Log4j
was recommended to the company and will be used in our upcoming code.
Noting that we are a rather large business oriented company in
America,
I would think that there are "many" others that have already adopted
this code and have been using it.
Now the idea of JSR47 being integrated into Java 1.4 seems almost
lacking in foresight. I do understand the value of time spent
and
development, but I have to question, how hard will it be for the
companies who already use log4j to change over to this "new" standard
if
they wanted to? Are we talking about a simple shell script that
looks
for XXX line and replaces it with another or actual man hours spent
at
making sure the new code is integrated properly? If it is the
latter,
be assured that the log4j files will stay installed on almost all
company machines that already use it. And how many companies are
we
talking about here? From what I understood from what I read in
the
above document, Log4j has quite a few more features then JSR47.
In
stating such, even if JSR47 does make it to Java 1.4 how many new
companies will actually use it? Looking at the two, I would find
that
one is rather lacking in usefulness at the time and question why the
other was not adopted.
But all of this aside I want to make two points that I know have
significance.
#1 loggers, levels, handlers and formatters VS categories,
priorities,
appenders and layouts. I would strongly encourage that one be changed
to
use the others names. Simply put, having to learn two words for
every
one of the definitions is not something that I see many programmers
wanting to do. Though since every company will most likely compare
the
two, countless hours will be wasted in that decision. Not to mention
the
amount of people who will be lost in the explanation of the two
because
of the above difference.
#2 Logging levels: from being a independent coder for 8 years (with 6
years of formal training) and ~1 year of coding for a business
corporation it is more then apparent to me that for what ever reason
JSR47 had for the level system, log4j is 100% more comprehensive.
FINE,
FINER, FINEST ? What are we attempting here? more bad code? In
all my
years at working on code and dealing with standards this one sticks
out
immediately as a sore thumb. I am going to say that for what
ever
technical reason that was given for this, the designer was too into
what
he is designing...
In any event I suggest postponing the release of any logging API
until
more thought is put into this. Releasing JSR47 with v1.4 will be
a
mistake. I do not suggest swapping log4j into the next release
but
perhaps working with its designer with both architectures and coming
up
with benefits from both API's. I then would suggest adopting a
modified
version of log4j (not JSR47) since there is already so many companies
using this code. This will allow most transition to be painless
and
would please the whole and not the few.
Creating two code sources will only complicate such a simple design
and
cause the ones who are to benefit from this the most, unnecessary
head
aches. Rome was not built in a day, the release of JSR47 in
v1.4,
though perhaps ideal to some, does not have to be. I would
strongly
suggest that the designers realize this and take a break from their
work
long enough to see the important decision that they are pushing into
being. When one is wise enough to be able to stand back from the
madness, it is then that he shall truly see the purpose behind that
which is being done.
And remember, the only ones who will reply to this note are the ones
that: #1 have enough time to actually spend away from their busy
jobs,
#2 actually are willing to put up with the daily spam of this
emailing
group, and #3 actually stop to read the message and some of the facts
to
know what is going on. Be assured that the masses of silent voices
far
outweigh any reply you will receive.
Thank you for you time,
Ben Stocum