Hi,

I'm not sure if this should be considered a developer issue or not, so if
it's more relevant to the developer's list, let me know and I'll move it
over there.

It seems to me that while the logging in OJB is currently pretty good, it
could be improved quite a bit by a number of small enhancements before going
to RC4:


1. Changing line 247 in OJB.properties that currently reads:
org.apache.ojb.broker.accesslayer.JdbcAccess.LogLevel=WARN
to:
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.LogLevel=WARN

because AFAICS the first line doesn't do anything. (users can then change
the level to DEBUG if they want to see interesting output)

Note that in the log4j.properties file, JdbcAccessImpl is there (commented)
instead of the incorrect JdbcAccess.


2. Making sure PoorMansLoggerImpl actually checks the logging level before
returning false for isDebugEnabled() (instead of always returning false,
which stops a number of classes from outputting debug statements, including
SqlGeneratorDefaultImpl). Log4J works fine, but PoorMansLoggerImpl should as
well.


3. Including logging statements in JdbcAccessImpl.java after each statement
is bound (usually before it's executed). If the PreparedStatement
implementation has overridden the toString method in a useful way (as does
the PostGres JDBC driver, and I'm sure others), then you can see the SQL
without needing P6Spy. For example, lines 258-259 could become:

broker.serviceStatementManager().bindStatement(stmt, query, cld, 1);
logger.debug("Executing SQL: " + stmt);
ResultSet rs = stmt.executeQuery();

I've made this change in my local version of JdbcAccessImpl.java and it
works a treat.

HSQLDB doesn't have the toString method in their PreparedStatement
implementation, but if you download the source, then you can see that it's a
very easy fix. Just add this method to
src/org/hsqldb/jdbcPreparedStatement.java:

public String toString()
{
    return this.build();
}

(unfortunately jdbcPreparedStatement.build() is a private method so the
above method cannot be implemented in a subclass).


Do these suggestions sound useful to anyone, or am I way off track?

Cheers,

Michael

P.S. Oh yeah, and fixing the MIME type for .tgz on the web-server would help
a lot of newbies as well :-) (I'm assuming this is the problem - that .tgz
is being interpreted as a TAR archive instead of a GZIP archive. An entry
like this into Apache's mime.types might help: "application/x-gzip  tgz")


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to