Skip to content

Commit

Permalink
documentation changes for 1.1 alpha 2 release
Browse files Browse the repository at this point in the history
  • Loading branch information
arthur_blake committed Jul 26, 2007
1 parent 425148e commit 90608d8
Show file tree
Hide file tree
Showing 4 changed files with 101 additions and 46 deletions.
9 changes: 4 additions & 5 deletions doc/CHANGES
Original file line number Diff line number Diff line change
@@ -1,11 1,10 @@
2007-07-25 1.1 alpha 2 Release

alpha 2 Release

initial JDBC 4.0 support
o JDBC 4.0 support!

fix Null pointer exception bug that could happen with setObject call on PreparedStatementSpy
o fix Null pointer exception bug that could happen with setObject call on PreparedStatementSpy

added mysql (com.mysql.jdbc.Driver) and postgresql (org.postgresql.Driver)
o added MySQL (com.mysql.jdbc.Driver) and PostgreSQL (org.postgresql.Driver)
to list of "well known" drivers that log4jdbc looks for at startup.

2007-05-29 1.1 alpha 1 Release
Expand Down
134 changes: 94 additions & 40 deletions doc/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 17,34 @@ <h1><a name="top"/><img class="logo" src="log4jdbc-logo-gray.png"><br>
<a href="#news">news</a> |
<a href="#features">features</a> |
<a href="#usage">usage</a> |
<a href="apidocs/net/sf/log4jdbc/package-summary.html">javadoc</a> |
<a href="#license">license</a> |
<a href="#feedback">feedback</a>
<br>
<a href="apidocs-jdbc3/net/sf/log4jdbc/package-summary.html">javadoc(JDK1.4: JDBC 3)</a> |
<a href="apidocs-jdbc4/net/sf/log4jdbc/package-summary.html">javadoc(JDK1.6: JDBC 4)</a>
</h1>

<p>
<b>log4jdbc</b> is a JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information)
for other jdbc drivers using the <a href="http://www.slf4j.org/">Simple Logging Facade For Java</a> (SLF4J) logging system.
for other jdbc drivers using the <a target="slf4j" href="http://www.slf4j.org/">Simple Logging Facade For Java</a> (SLF4J) logging system.
</p>

<h2><a name="news"/>news</h2>
<p class="left"><b>2007-05-29:</b> <a href="http://sourceforge.net/forum/forum.php?forum_id=700185">log4jdbc 1.1 alpha 1 released.</a> Most notable change is that the simple logging facade for java is now used instead of log4j directly. See <a href="CHANGES">CHANGES</a> for all the release details.</p>
<p class="left"><b>2007-07-25:</b> <a href="http://sourceforge.net/forum/forum.php?forum_id=719640">log4jdbc 1.1 alpha 2 released.</a> JDBC 4 support! See <a href="CHANGES">CHANGES</a> for all the release details.</p>
<p class="left"><b>2007-05-29:</b> <a href="http://sourceforge.net/forum/forum.php?forum_id=700185">log4jdbc 1.1 alpha 1 released.</a> Most notable change is that the <a target="slf4j" href="http://slf4j.org">Simple Logging Facade for Java</a> is now used instead of <b>log4j</b> directly.
<p class="left"><b>2007-04-21:</b> <a href="http://sourceforge.net/forum/forum.php?forum_id=688372">log4jdbc 1.0 has been released!</a> Download it and give it a try!</p>

<p class="right"><a href="#top">[back to top]</a></p>
<h2><a name="features"/>features</h2>

<ul class="left">
<li>
Easy to drop in and use in existing systems, because it's a standard jdbc driver.
The only other requirement is to have the SLF4J jars and your jdbc driver for your
database.
Full support for JDBC 3 and JDBC 4!
</li>

<li>
Easy to configure, in most cases all you need to do is change the driver class name
and prepend "jdbc:log4" to your existing jdbc url, set up your logging categories and
and prepend <b>"jdbc:log4"</b> to your existing jdbc url, set up your logging categories and
you're ready to go!
</li>

Expand All @@ -59,65 60,116 @@ <h2><a name="features"/>features</h2>
be post processed with an included tool to produce profiling report data for quickly
identifying slow SQL in your application..
</li>

<li>
SQL connection number information is generated to help identify connection pooling or
threading problems.
</li>

<li>
Works with any JDBC 3.0 driver, JDK 1.4 and above, and SLF4J 1.x.
Works with any underlying JDBC driver, with JDK 1.4 and above, and SLF4J 1.x.
</li>

</ul>
<p>
This jdbc driver can be "dropped in" to log the SQL and jdbc calls of another JDBC driver.
</p>

<p class="right"><a href="#top">[back to top]</a></p>
<h2><a name="usage"/>usage</h2>

<ol class="left">

<li><p> Set your jdbc driver class to <code>net.sf.log4jdbc.DriverSpy</code> </p>
<li><p> Decide if you need JDBC 3 or JDBC 4 support. The most straightforward way to decide this is:</p>
<ul>
<li>If you are using JDK 1.4 or 1.5, you should use the JDBC 3 version of log4jdbc.</li>
<li>If you are using JDK 1.6 or 1.7, you should use the JDBC 4 version of log4jdbc (even if the actual underlying JDBC driver you are using is a JDBC 3 or older driver).</li>
</ul>
<p>
Currently there are very few actual JDBC 4 drivers on the market. (The only major one that I really know about is Apache Derby aka The Java DB distributed with JDK 1.6.)
JDBC 4 support was added with the JDK 1.6 release and adds many additional features over and above JDBC 3.
However, the log4jdbc JDBC 4.0 driver can wrap a JDBC 3 or older driver and
it's recommended that if you use JDK 1.6 or above, that you use the log4jdbc JDBC 4 driver that is compiled with JDK 1.6.
</p>
<p>
Note that JDBC 2 is not currently supported by log4jdbc (there is an older unreleased version of log4jdbc with JDBC 2 support,
but I decided not to release it because JDBC 3 has been out for so long, I don't anticipate much demand for a JDBC 2 version of
log4jdbc at this point), although if you are using JDK 1.4 and above, the log4jdbc 3.0 or 4.0 driver
should be able to wrap an older JDBC 2 driver as well-- log4jdbc just won't work with Java 1.3 and earlier.
Please <a href="#feedback">email me</a> if you really really want a JDBC 2 version of log4jdbc. If there is enough demand, I may resurrect it.
</p>
</p>
<pre>

Choose and <a href="http://sourceforge.net/project/showfiles.php?group_id=194500&package_id=229335&release_id=527690">download</a> one of the drivers .jar files:

log4jdbc3-1.1alpha2.jar JDBC 3 support for JDK 1.4 , JDK 1.5
log4jdbc4-1.1alpha2.jar JDBC 4 support for JDK 1.6 , JDK 1.7

Place the log4jdbc jar that you choose into your application's classpath.
</pre>

<li><p>Choose which java logging system you will use. </p>
In many cases, you already know this, because it is dictated by your existing application.
log4jdbc uses the Simple Logging Facade for Java (SLF4J) which is a very simple and very flexible little library that lets you pick among many common java logging systems:</p>
<ul>
<li>Log4j</li>
<li>java.util logging in JDK 1.4</li>
<li>logback</li>
<li>Jakarta Commons Logging</li>
</ul>

<p> SLF4J is designed to de-couple your application from the java logging system so you can choose any one you want. This is the same goal of Jakarta Commons Logging. However many people have
had headaches and issues with classloading problems in complex environments using Jakarta Commons Logging. SLF4J solves these problems with it's much simpler design, and you can even integrate
SLF4J to use Jakarta Commons Logging, if you really want to (or are required to) use it.</p>
<pre>

<a href="http://www.slf4j.org/download.html">Download</a> the latest official SLF4J release.

You will need two jars:

slf4j-api-1.4.2.jar (or the latest available version) and
whichever jar you pick depending on the java logging system you choose

Place these two .jar files into your application's classpath.
</pre>

Please read the documentation at the <a target="slf4j" href="http://slf4j.org">SLF4J website</a>. It's really easy to set up!

</a>
<li><p>Set your jdbc driver class to <code>net.sf.log4jdbc.DriverSpy</code> in your application's configuration.</p>
<p>
The underlying driver that is being spied on in many cases will be loaded automatically
without any additional configuration.
</p>
<p>
The log4jdbc "spy" driver will try and load the following popular jdbc drivers:
</p>
<pre>

oracle.jdbc.driver.OracleDriver (oracle)
com.sybase.jdbc2.jdbc.SybDriver (sybase)
net.sourceforge.jtds.jdbc.Driver (sourceforge ms sql server driver)
com.microsoft.jdbc.sqlserver.SQLServerDriver (microsoft ms sql server driver)
weblogic.jdbc.sqlserver.SQLServerDriver (weblogic ms sql server driver)
com.informix.jdbc.IfxDriver (informix)
org.apache.derby.jdbc.ClientDriver (apache derby client/server driver)
org.apache.derby.jdbc.EmbeddedDriver (apache derby embedded driver)
<pre>

oracle.jdbc.driver.OracleDriver (Oracle)
com.sybase.jdbc2.jdbc.SybDriver (Sybase)
net.sourceforge.jtds.jdbc.Driver (SourceForge SQL Server driver)
com.microsoft.jdbc.sqlserver.SQLServerDriver (Microsoft SQL Server driver)
weblogic.jdbc.sqlserver.SQLServerDriver (Weblogic SQL Server driver)
com.informix.jdbc.IfxDriver (Informix)
org.apache.derby.jdbc.ClientDriver (Apache Derby client/server driver)
org.apache.derby.jdbc.EmbeddedDriver (Apache Derby embedded driver)
com.mysql.jdbc.Driver (MySQL)
org.postgresql.Driver (PostgresSQL)
</pre>
<p>
If you want to use a different underlying jdbc driver that is not already in the above supported list,
set a system property, log4jdbc.drivers to the class name of the additional driver. This
can also be a comma separated list of driver class names.
set a system property, <b>log4jdbc.drivers</b> to the class name of the additional driver. This
can also be a comma separated list of driver class names if you need more than one.
</p>
<p>
(optional) <code>-Dlog4jdbc.drivers=&lt;driver&gt;[,&lt;driver&gt;...]</code> If your driver is not one of the common preloaded drivers.
</p>
</li>
<li><p> Prepend <code>jdbc:log4</code> to the normal jdbc url that you are using.</p>

<p>For example, if your normal jdbc url is <code>jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase</code>
You would change it to: <code>jdbc:log4jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase</code> to use the
log4jdbc spy driver.</p>
</li>
<li><p>Make sure <span class="file">log4jdbc-1.1alpha1.jar</span> and the <span class="file">slf4j</span> jar files (v1.x) are in
the classpath, as well as the jar file for the logging system that SLF4J forwards to and the jar file(s) for the actual
jdbc driver that is being spied upon. Please refer the the <a href="http://www.slf4j.org/">SLF4J documentation</a>
for information on setting up SLF4J. It's really easy!
</p>
<p>For example, if your normal jdbc url is</p>

<p><code>jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase</code></p>
<p>then You would change it to: </p>
<p><code><b>jdbc:log4</b>jdbc:derby://localhost:1527//db-derby-10.2.2.0-bin/databases/MyDatabase</code></p>
<p>to use <b>log4jdbc.</b></p>
</li>
<li> <p> Set up your logging categories. There are 4 categories that are used by log4jdbc,
If all 4 loggers are set to a level less than error (such as the FATAL level), then log4jdbc will not log
Expand All @@ -144,7 196,7 @@ <h2><a name="usage"/>usage</h2>
jdbc.resultset Even more voluminous, because all calls to ResultSet objects are logged.
</pre>

<p>Additionally, there is one logger named log4jdbc.debug which is for use with internal debugging of log4jdbc.
<p>Additionally, there is one logger named <b>log4jdbc.debug</b> which is for use with internal debugging of log4jdbc.
At this time it just prints out information on which underlying drivers were found and not found when the
log4jdbc spy driver loads.</p>

Expand Down Expand Up @@ -183,7 235,7 @@ <h2><a name="usage"/>usage</h2>
this would be printed in the debug information, rather than the package name for a connection pool, object relational system, etc.
</p>
</li>
<li>With the 1.1 alpha 1 release, a new tool is included which you can use to post-process sql timing logs produced by log4jdbc
<li>Starting with the 1.1 alpha 1 release, a new tool was included which you can use to post-process sql timing logs produced by log4jdbc
to produce simple profiling reports with statistics and a dump of the sql statements that ran the slowest within the log.
To invoke the tool, use the profsql.sh (for unix/linux) and profsql.cmd (for windows) scripts located in the scripts
folder. These scripts take as one argument, the filename of a sql timing log (generated from the
Expand Down Expand Up @@ -212,11 264,12 @@ <h1>
<a href="#news">news</a> |
<a href="#features">features</a> |
<a href="#usage">usage</a> |
<a href="apidocs/net/sf/log4jdbc/package-summary.html">javadoc</a> |
<a href="#license">license</a> |
<a href="#feedback">feedback</a>
<br>

<a href="apidocs-jdbc3/net/sf/log4jdbc/package-summary.html">javadoc(JDK1.4: JDBC 3)</a> |
<a href="apidocs-jdbc4/net/sf/log4jdbc/package-summary.html">javadoc(JDK1.6: JDBC 4)</a>
<br>
<img class="logo" src="log4jdbc-logo-gray.png">

</h1>
Expand All @@ -227,5 280,6 @@ <h1>
<a href="http://www.yourkit.com/java/profiler/index.jsp">YourKit Java Profiler</a> and
<a href="http://www.yourkit.com/.net/profiler/index.jsp">YourKit .NET Profiler</a>.
</p>
<a href="http://sourceforge.net/projects/log4jdbc/"><img alt="sourceforge" title="log4jdbc sourceforge page" class="sflogo" src="sourceforge_whitebg.gif"></a>
</body>
</html>
4 changes: 3 additions & 1 deletion doc/log4jdbc.css
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 25,6 @@ code,pre {color:navy;background-color:beige;font-size:11pt;}

pre {border:2px dashed navy;margin-left:3em;margin-right:4em;margin-top:1em;margin-bottom:1em;white-space:pre-line;}

p.ad {font-size:1em;color:blue;}
p.ad {font-size:1em;color:blue;}

.sflogo {float:right; margin-right:30px;}
Binary file added doc/sourceforge_whitebg.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 90608d8

Please sign in to comment.