mirror of
https://github.com/encounter/log4jdbc.git
synced 2026-03-30 11:27:21 -07:00
Compare commits
74 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 93d265316f | |||
| 2ab2d0389e | |||
| f4f264f921 | |||
| 3604fe043c | |||
| 6a9b4e1948 | |||
| bff4f67db8 | |||
| dc6edbdb86 | |||
| f637d041cc | |||
| 7d51cd3d3f | |||
| 77507faf9c | |||
| 8918e4a39a | |||
| d308e26494 | |||
| 053afdbf0f | |||
| d3c58ab5cd | |||
| 35b5548e2f | |||
| ab522b45e2 | |||
| 1f47f9a899 | |||
| f7a51cd827 | |||
| e261132179 | |||
| ee5468cfe6 | |||
| 88f90f8131 | |||
| 7f7d2f0f3b | |||
| d430b481a4 | |||
| 48154128a9 | |||
| dbc63df301 | |||
| 59ecc4ac8b | |||
| d10afb244f | |||
| c183dc2b5d | |||
| a3ac1c68c1 | |||
| 46c13d8498 | |||
| 6906f31ba5 | |||
| d3a48845f3 | |||
| 7355247886 | |||
| 00369eba9f | |||
| a02f682e7c | |||
| a5290edf4b | |||
| 9769dbc6dd | |||
| b0b69fdc64 | |||
| 1dd40a2f76 | |||
| bbf255e0b4 | |||
| 4ee6d5f745 | |||
| c83e89c194 | |||
| 5ac146eb77 | |||
| cab8caa20a | |||
| 6484ab0c10 | |||
| de7d4acc84 | |||
| 108d89b8bc | |||
| 076a585184 | |||
| 1d455b77e6 | |||
| e33eb5534f | |||
| 15a798c27a | |||
| e227d3ca26 | |||
| 98f98d605c | |||
| c19443a574 | |||
| de256617a2 | |||
| eac61725f6 | |||
| f7fa0cdaf4 | |||
| 2223543ff0 | |||
| 89ed31f0b8 | |||
| 29b2b01ee1 | |||
| 0a4f5267df | |||
| a7ebd7eb1f | |||
| 48cb541e58 | |||
| 201d3b974b | |||
| 007ff20ed1 | |||
| 2d8cbd4cdf | |||
| 21cbf688ec | |||
| 44043261af | |||
| 86364a24fa | |||
| 4900e751bb | |||
| 9da5241e39 | |||
| ddbee4d1b6 | |||
| 6bf61ef02b | |||
| 18c7e2fd19 |
@@ -0,0 +1,8 @@
|
||||
# log4jdbc
|
||||
A more extensive README will be created soon. For now, you can view the usage instructions at the old Google Code hosting site:
|
||||
|
||||
https://code.google.com/p/log4jdbc/
|
||||
|
||||
You can download the prebuilt jars at:
|
||||
|
||||
https://code.google.com/p/log4jdbc/downloads/list
|
||||
+192
-21
@@ -1,38 +1,209 @@
|
||||
2015-09-30 1.3 release
|
||||
|
||||
o add new option, "log4jdbc.trim.sql.lines" which when set,
|
||||
will trim SQL line by line (for beginning of line, only trimming
|
||||
consistent white space) If this option is selected, the TrimSql
|
||||
option will be ignored.
|
||||
|
||||
o remove JDBC 3 version (not all scripts updated yet.)
|
||||
|
||||
o getArray method improperly labeled as getURL (Issue 61.)
|
||||
|
||||
o bug fix ResultSetSpy.getStatement should return wrapped Statement,
|
||||
not real Statement (Issue 55.)
|
||||
|
||||
o move to GitHub (Google Code shutting down.)
|
||||
|
||||
2012-02-17 1.2 Release
|
||||
|
||||
o escape single quotes in PreparedStatement/CallableStatement bind variables (Issue 36.)
|
||||
|
||||
o process SQL consistently when the sql is dumped because an exception occurred.
|
||||
|
||||
o new SQL formatter to more reliably dump sql that can be run for MySql (Issue 34.)
|
||||
|
||||
o don't show debug info in sql timing dump unless debug is enabled on the logger
|
||||
(to make the sql timing dump consistent with the way other the loggers work)
|
||||
|
||||
o add new option, log4jdbc.trim.sql.extrablanklines for removing
|
||||
extra blank lines from sql output.
|
||||
|
||||
o fix issue where extra connection was being created when
|
||||
ResultSet.getStatement was being called (Issue 33.)
|
||||
|
||||
o performance enhancement when logging not enabled (Issue 29.)
|
||||
|
||||
2010-06-09 1.2 beta 2 Release
|
||||
|
||||
o add new option, log4jdbc.auto.load.popular.drivers for
|
||||
disabling auto-loading of drivers
|
||||
|
||||
o look first for log4jdbc property settings in optional
|
||||
log4jdbc.properties file in the classpath.
|
||||
|
||||
o Fix non-threadsafe usage of SimpleDateFormat (Issue 18)
|
||||
|
||||
o add new option, log4jdbc.trim.sql to trim the SQL before logging
|
||||
it.
|
||||
|
||||
o add new option, log4jdbc.suppress.generated.keys.exception that
|
||||
will ignore any exception produced by the method,
|
||||
Statement.getGeneratedKeys(). This flag is useful in Coldfusion
|
||||
environments which typically call this method after every update,
|
||||
even if unwarranted, and ignoring the exception, thus clogging up
|
||||
the logs with these exception reports.
|
||||
|
||||
o add support for the newer oracle.jdbc.OracleDriver driver (the
|
||||
older oracle.jdbc.driver.OracleDriver driver is still supported
|
||||
as well) and add corrected date formatting for Oracle.
|
||||
|
||||
o fix possible null pointer issue with setBlob and setClob (Issue 21)
|
||||
|
||||
2010-03-20 1.2 beta 1 Release
|
||||
|
||||
o Check for exception that should not, but in some cases could
|
||||
occur when trying to format parameter arguments.
|
||||
|
||||
o Use only one type of date format so that time portion of Date
|
||||
types is not dropped!
|
||||
|
||||
o use to_date function for Oracle (Issue 14)
|
||||
|
||||
o performance improvements
|
||||
|
||||
o fix: respect DumpSqlMaxLineLength option.
|
||||
|
||||
o various other fixes (including Issues 8 and 9)
|
||||
|
||||
2009-02-26 1.2 alpha 2 Release
|
||||
|
||||
o (Issue 1) fix bug where batch of logged SQL wasn't cleared
|
||||
properly when using batched SQL.
|
||||
|
||||
o Added log4jdbc.statement.warn system property; defaults to false.
|
||||
|
||||
This is a new option to control the SQL Statement warnings in the
|
||||
log. When Statement objects are used by the application, the SQL
|
||||
in the log is preceded by "{WARNING: Statement used to run SQL}"
|
||||
This was always on in previous releases. Now it
|
||||
is off by default, and can be turned on by setting this property.
|
||||
|
||||
o (Issue 2) add getter methods across the board for the real
|
||||
wrapped object.
|
||||
|
||||
2008-11-08 1.2 alpha 1 Release
|
||||
|
||||
o added a new logger "jdbc.connection" to dump connection open and
|
||||
close events as well as dumping all open connection numbers. This
|
||||
is very useful for hunting down connection leak problems.
|
||||
|
||||
o several new options to produce better SQL output:
|
||||
|
||||
log4jdbc.dump.booleanastruefalse - many RDBMS's don't have a
|
||||
native boolean type and store booleans as a 1 or 0. Setting this
|
||||
option to false will show boolean bind variables as 1 or 0.
|
||||
Setting this to true will show the boolean as true or false.
|
||||
(Note that the default for this setting is false, contrary to the
|
||||
previous way log4jdbc worked.)
|
||||
|
||||
log4jdbc.dump.sql.maxlinelength - can be used to insert line
|
||||
breaks into long running SQL (at white space positions.)
|
||||
previous versions of log4jdbc did this automatically with a value
|
||||
of 90 (the default value is 90.) This line breaking can be turned
|
||||
off completely by setting this to 0.
|
||||
|
||||
log4jdbc.dump.fulldebugstacktrace - can be used in extreme
|
||||
debugging circumstances when you want to be able to see the full
|
||||
stack trace in the debug output. Be extra careful when using
|
||||
this as it will obviously produce much much more logging output.
|
||||
|
||||
o dump a null bind variable as NULL instead of <null> for more
|
||||
accurate and reuseable SQL output.
|
||||
|
||||
o several new options for controlling what types of SQL statements
|
||||
are logged:
|
||||
|
||||
log4jdbc.dump.sql.select default value is true
|
||||
log4jdbc.dump.sql.insert default value is true
|
||||
log4jdbc.dump.sql.update default value is true
|
||||
log4jdbc.dump.sql.delete default value is true
|
||||
log4jdbc.dump.sql.create default value is true
|
||||
|
||||
The default values for all of these are true, but they can be
|
||||
selectively turned on and off to filter out unwanted types of sql
|
||||
statements. For example, setting log4jdbc.dump.sql.delete will
|
||||
cause all DELETE sql commands to not be logged.
|
||||
|
||||
o A new option to add a semi colon to the end of the dumped sql:
|
||||
|
||||
log4jdbc.dump.sql.addsemicolon default value is false
|
||||
|
||||
Sometimes it's useful to use log4jdbc to produce sql scripts that
|
||||
can later be fed back into a SQL tool to execute against a
|
||||
database and this option can help to produce more re-useable sql
|
||||
output script data from a log file.
|
||||
|
||||
o added Microsoft SQL Server 2005 Driver
|
||||
(com.microsoft.sqlserver.jdbc.SQLServerDriver) to
|
||||
list of "well known" drivers that log4jdbc looks for at startup.
|
||||
(thanks to Rob Richards for pointing this out)
|
||||
|
||||
Note that the SQL Server 2000 Driver with the confusing name
|
||||
of (com.microsoft.jdbc.sqlserver.SQLServerDriver) is also still
|
||||
supported.
|
||||
|
||||
o other miscellaneous improvements.
|
||||
|
||||
2008-04-11 1.1 Release
|
||||
|
||||
o upgrade to SLF4J 1.5. Note that log4jdbc should still work with
|
||||
any older (or newer) version of SLF4J too.
|
||||
|
||||
o slightly better fault tolerance for when loading/probing of
|
||||
popular JDBC drivers fails for any reason.
|
||||
|
||||
2007-11-10 1.1 beta 1 Release
|
||||
|
||||
o added HSQLDB (org.hsqldb.jdbcDriver) and H2 (org.h2.Driver)
|
||||
to list of "well known" drivers that log4jdbc looks for at startup.
|
||||
|
||||
o added log4jdbc.sqltiming.warn.threshold and log4jdbc.sqltiming.error.threshold system property
|
||||
settings to greatly aid in finding slow running sql. Special thanks to Lilianne E. Blaze for the idea
|
||||
and initial implementation.
|
||||
o added HSQLDB (org.hsqldb.jdbcDriver) and H2 (org.h2.Driver) to
|
||||
list of "well known" drivers that log4jdbc looks for at startup.
|
||||
|
||||
o added log4jdbc.sqltiming.warn.threshold and
|
||||
log4jdbc.sqltiming.error.threshold system property settings to
|
||||
greatly aid in finding slow running sql. Special thanks to
|
||||
Lilianne E. Blaze for the idea and initial implementation.
|
||||
|
||||
2007-07-25 1.1 alpha 2 Release
|
||||
|
||||
o JDBC 4.0 support!
|
||||
|
||||
o fix Null pointer exception bug that could happen with setObject call on PreparedStatementSpy
|
||||
|
||||
o added MySQL (com.mysql.jdbc.Driver) and PostgreSQL (org.postgresql.Driver)
|
||||
to list of "well known" drivers that log4jdbc looks for at startup.
|
||||
|
||||
o fix Null pointer exception bug that could happen with setObject
|
||||
call on PreparedStatementSpy
|
||||
|
||||
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
|
||||
|
||||
o Fixed problem where when sql timing log was the only log turned on, log4jdbc would not recognize that
|
||||
logging was on at all.
|
||||
o Fixed problem where when sql timing log was the only log turned
|
||||
on, log4jdbc would not recognize that logging was on at all.
|
||||
|
||||
o report sql exceptions in the sql timing log as well (when they occured during sql execution) and
|
||||
prominently show that the sql FAILED, and display how long it tried to chug on the sql
|
||||
before the exception was thrown
|
||||
o report sql exceptions in the sql timing log as well (when they
|
||||
occured during sql execution) and prominently show that the sql
|
||||
FAILED, and display how long it tried to chug on the sql before
|
||||
the exception was thrown.
|
||||
|
||||
o Switch to Simple Logging Facade for Java SLF4J instead of using log4j directly, so that any underlying
|
||||
logging system can be easily used.
|
||||
o Switch to Simple Logging Facade for Java SLF4J instead of using
|
||||
log4j directly, so that any underlying logging system can be
|
||||
easily used.
|
||||
|
||||
o option added to ant build script to generate javadoc with ydoc to include UML diagrams within the javadoc.
|
||||
o option added to ant build script to generate javadoc with ydoc
|
||||
to include UML diagrams within the javadoc.
|
||||
|
||||
o dump batched sql correctly.
|
||||
|
||||
o add simple command line program (PostLogProfilerProcessor) for processing sqltiming log files to create
|
||||
a simple profiling report from log data.
|
||||
o add simple command line program (PostLogProfilerProcessor) for
|
||||
processing sqltiming log files to create a simple profiling
|
||||
report from log data.
|
||||
|
||||
2007-04-21 Initial 1.0 Release
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
log4jdbc is open source software, released under the Apache License, Version 2.0:
|
||||
|
||||
Copyright 2007 Arthur Blake
|
||||
Copyright 2007-2011 Arthur Blake
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use log4jdbc except in compliance with the License.
|
||||
|
||||
+1
-3
@@ -1,5 +1,3 @@
|
||||
[this software is open source, released under the Apache License, Version 2.0: see LICENSE file]
|
||||
|
||||
Please see the main log4jdbc web page at http://log4jdbc.sourceforge.net for detailed features and usage information.
|
||||
There should also be in this folder, a copy of the main web page as it existed when this release was made.
|
||||
See index.html.
|
||||
Please see the main log4jdbc web page at http://log4jdbc.googlecode.com for detailed features and usage information.
|
||||
|
||||
@@ -16,3 +16,7 @@ o ALL String concatenation & dumping methods should take place ONLY if logging
|
||||
o review dumpedSql method - make auto line breaking option (& num chars used) be options
|
||||
|
||||
o need log4jdbc.debug.stack.regex so that the stack matching can take place via regex
|
||||
|
||||
o maven2 repository support
|
||||
|
||||
o this may be a better solution to SimpleDateFormat contention issue: http://www.javaspecialists.eu/archive/Issue172.html
|
||||
|
||||
-346
@@ -1,346 +0,0 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>log4jdbc - A JDBC Driver for logging SQL and JDBC calls.</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<link rel="stylesheet" href="reset-fonts-grids.css" />
|
||||
<link rel="stylesheet" href="log4jdbc.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<h1><a name="top"/><img class="logo" src="log4jdbc-logo-gray.png"><br>
|
||||
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=194500">download</a> |
|
||||
<a href="#news">news</a> |
|
||||
<a href="#features">features</a> |
|
||||
<a href="#usage">usage</a> |
|
||||
<a href="#advanced">advanced</a> |
|
||||
<a href="#similiartools">similiar tools</a> |
|
||||
<a href="#feedback">feedback</a>
|
||||
<br>
|
||||
<a href="http://sourceforge.net/projects/log4jdbc/">sourceforge page</a> |
|
||||
<a href="apidocs-jdbc3/net/sf/log4jdbc/package-summary.html">JDK1.4/JDBC 3 javadoc</a> |
|
||||
<a href="apidocs-jdbc4/net/sf/log4jdbc/package-summary.html">JDK1.6/JDBC 4 javadoc</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 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-11-10:</b> <a href="http://sourceforge.net/forum/forum.php?forum_id=753559">log4jdbc 1.1 beta 1 released.</a> New optional timing threshold settings for honing in on slow SQL. 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!</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>
|
||||
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 <b>"jdbc:log4"</b> to your existing jdbc url, set up your logging categories and
|
||||
you're ready to go!
|
||||
</li>
|
||||
|
||||
<li>
|
||||
In the logged output, for prepared statements, the bind arguments are automatically
|
||||
inserted into the SQL output. This greatly Improves readability and debugging for
|
||||
many cases.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
SQL timing information can be generated to help identify how long SQL statements take
|
||||
to run, helping to identify statements that are running too slowly and this data can
|
||||
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 underlying JDBC driver, with JDK 1.4 and above, and SLF4J 1.x.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Open source software, licensed under the business friendly <b>Apache 2.0 license:</b> <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<p class="right"><a href="#top">[back to top]</a></p>
|
||||
<h2><a name="usage"/>usage</h2>
|
||||
|
||||
<ol class="left">
|
||||
|
||||
<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 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 driver .jar files:
|
||||
|
||||
log4jdbc3-1.1beta1.jar JDBC 3 support for JDK 1.4 , JDK 1.5
|
||||
log4jdbc4-1.1beta1.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.3.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 (jTDS SQL Server & Sybase 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, aka the Java DB)
|
||||
org.apache.derby.jdbc.EmbeddedDriver (Apache Derby embedded driver, aka the Java DB)
|
||||
com.mysql.jdbc.Driver (MySQL)
|
||||
org.postgresql.Driver (PostgresSQL)
|
||||
org.hsqldb.jdbcDriver (HSQLDB pure Java database)
|
||||
org.h2.Driver (H2 pure Java database)
|
||||
</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, <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=<driver>[,<driver>...]</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</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
|
||||
anything, and in fact the actual (real) connection to the underlying database will be returned by the log4jdbc
|
||||
driver (thus allowing log4jdbc to be installed and available to turn on at runtime at a moment's notice,
|
||||
without imposing any actual performance loss when not being used). If any of the 4 logs are set to ERROR,INFO or
|
||||
DEBUG, then log4jdbc will be activated, wrapping and logging all activity in the jdbc connections returned by the
|
||||
underlying driver.</p>
|
||||
<pre>
|
||||
|
||||
Each of these logs can be set at either DEBUG, INFO or ERROR
|
||||
DEBUG includes the class name and line number (if available) at which the sql was executed.
|
||||
INFO includes the sql (or other information as applicable)
|
||||
ERROR will show the stack traces in the log output when sql exceptions occur.
|
||||
|
||||
jdbc.sqlonly shows only SQL in the log. SQL executed within a prepared statement is automatically shown with
|
||||
it's bind arguments replaced with the data bound at that position, for greatly increased readability.
|
||||
|
||||
jdbc.sqltiming shows the SQL, post-execution, including timing statistics on how long the sql took to execute.
|
||||
|
||||
jdbc.audit Logs ALL jdbc calls except for ResultSets. This is a very voluminous output, and is not normally
|
||||
needed unless tracking down a specific jdbc problem.
|
||||
|
||||
jdbc.resultset Even more voluminous, because all calls to ResultSet objects are logged.
|
||||
</pre>
|
||||
|
||||
<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>
|
||||
|
||||
<p>In a typical usage scenario, you might turn on only the jdbc.sqlonly logging at INFO level,
|
||||
just to view the sql coming out of your program.</p>
|
||||
|
||||
<p>Then if you wanted to view how long each sql statement is taking to execute, you might use jdbc.sqltiming.</p>
|
||||
|
||||
<p>jdbc.audit and jdbc.resultset are used for more in depth diagnosis of what is going on under the hood with jdbc
|
||||
as potentially almost every single call to jdbc could be logged (logs can grow very large, very quickly with this!)</p>
|
||||
|
||||
<p>SLF4J is a logging facade that can be used with many popular java logging systems. The setup for the logging
|
||||
categories will vary depending on which underlying logger you use. Sample configuration files for log4j are
|
||||
provided here: <a href="log4j.xml">log4j.xml</a> and <a href="log4j.properties">log4j.properties</a>.</p>
|
||||
</li>
|
||||
<li><p>Adjust debugging options. When logging at the DEBUG level, the class file and line number (if available) for the
|
||||
class that invoked jdbc is logged after each log statement. This is enormously useful for finding where in the
|
||||
code the SQL is generated. Be careful when using this on a production system because there is a small, but
|
||||
potentially significant penalty performance for generating this data on each logging statement.</p>
|
||||
|
||||
<p>In many cases, this call stack data is not very useful because the calling class into log4jdbc is a connection pool,
|
||||
object-persistance layer or other layer between log4jdbc and your application code-- but the class file and
|
||||
line number information you really are interested in seeing is where in your application the SQL was generated from.</p>
|
||||
|
||||
<p>Set the <code>log4jdbc.debug.stack.prefix</code> System property for log4jdc to help get around this problem:</p>
|
||||
|
||||
<p>
|
||||
(optional) <code>-Dlog4jdbc.debug.stack.prefix=<package.prefix></code> a String that is the partial (or full) package
|
||||
prefix for the package name of your application. The call stack will be searched down to the first occurence
|
||||
of a class that has the matching prefix. If this is not set, the actual class that called into log4jdbc is used
|
||||
in the debug output (in many cases this will be a connection pool class)</p>
|
||||
<p>
|
||||
For example, setting a system property such as this: <code>-Dlog4jdbc.debug.stack.prefix=com.mycompany.myapp</code>
|
||||
Would cause the call stack to be searched for the first call that came from code in the com.mycompany.myapp package or below,
|
||||
thus if all of your sql generating code was in code located in the com.mycompany.myapp package or any subpackages,
|
||||
this would be printed in the debug information, rather than the package name for a connection pool, object relational system, etc.
|
||||
</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p class="right"><a href="#top">[back to top]</a></p>
|
||||
|
||||
<h2><a name="advanced"/>advanced</h2>
|
||||
<ul class="left">
|
||||
<li>A simple tool is included which you can use to post-process sql timing logs produced by log4jdbc.
|
||||
It produces 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
|
||||
<code>jdbc.sqltiming</code> log category. They produce a profiling report to stdout.
|
||||
The tool is currently experimental and I expect it to evolve quite a bit over the next few releases.
|
||||
Nevertheless, it has already been very useful to me for tracking down SQL performance problems.
|
||||
</li>
|
||||
<li>
|
||||
Starting with the 1.1 beta 1 release, you can set timing thresholds to more easily find slow running SQL. These are set via system properties:
|
||||
<p>
|
||||
<code>-Dlog4jdbc.sqltiming.warn.threshold=<number of milliseconds></code> causes SQL that takes <number of milliseconds> or more time to execute to be logged at the <b>warning</b> level in the sqltiming log.
|
||||
</p>
|
||||
<p>
|
||||
<code>-Dlog4jdbc.sqltiming.error.threshold=<number of milliseconds></code> causes SQL that takes <number of milliseconds> or more time to execute to be logged at the <b>error</b> level in the sqltiming log.
|
||||
</p>
|
||||
<p>
|
||||
Note that the sqltiming log must be enabled at the warn or error log levels for these features to work. Also the logged output for both of these settings will log with debug information that is normally only shown
|
||||
when the sqltiming log is enabled at the debug level. This can help you to more quickly find slower running SQL without adding overhead or logging for normal running
|
||||
SQL that executes below the threshold level (if the logging level is set appropriately.)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="right"><a href="#top">[back to top]</a></p>
|
||||
|
||||
<h2><a name="similiartools"/>similiar tools</h2>
|
||||
|
||||
<h3>Some other tools and libraries that are similiar to log4jdbc.</h3>
|
||||
|
||||
<ul class="left">
|
||||
<li>
|
||||
<a target="othertool" href="http://www.p6spy.com/">P6Spy</a>
|
||||
is probably the most well known JDBC logging driver but it hasn't been updated in about 4 years.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a target="othertool" href="http://www.jahia.net/jahia/page597.html">SQL Profiler</a> an add-on for P6Spy, also about 4 years out of date.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a target="othertool" href="http://zer0.free.fr/craftsman/spy.php">Craftsman Spy</a> appears to overlap quite a bit with the feature set in log4jdbc. This library hasn't been updated in 2 years and depends on Jakarta Commons Logging.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a target="othertool" href="http://jamonapi.sourceforge.net/"> JAMon </a> (Java Application Monitor) is a comprehensive application monitor and monitoring API which includes JDBC/SQL monitoring as part of it's very large feature set.
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a target="othertool" href="http://sourceforge.net/projects/jdbcproxy/">JdbcProxy</a> is another sourceforge hosted project. The driver can also emulate another JDBC driver to test the application without a database
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a target="othertool" href="http://rkbloom.net/logdriver/index.html">LogDriver</a> appears to be similiar to log4jdbc and the author has written a nice <a target="othertool" href="http://java.sys-con.com/read/204723.htm">article</a> on JDBC logging in general and his motivation and experience of writing LogDriver.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</p>
|
||||
<p class="right"><a href="#top">[back to top]</a></p>
|
||||
|
||||
<h2><a name="feedback"/>feedback</h2>
|
||||
|
||||
<p>Feedback and suggestions would be greatly appreciated. Email me at <b>arthur_blake at users.sourceforge.net</b></p>
|
||||
<p>Also, visit <a target="myblog" href="http://arthurblake.wordpress.com">my blog</a>.</p>
|
||||
|
||||
<p class="right"><a href="#top">[back to top]</a></p>
|
||||
<h1>
|
||||
|
||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=194500">download</a> |
|
||||
<a href="#news">news</a> |
|
||||
<a href="#features">features</a> |
|
||||
<a href="#usage">usage</a> |
|
||||
<a href="#advanced">advanced</a> |
|
||||
<a href="#similiartools">similiar tools</a> |
|
||||
<a href="#feedback">feedback</a>
|
||||
<br>
|
||||
<a href="http://sourceforge.net/projects/log4jdbc/">sourceforge page</a> |
|
||||
<a href="apidocs-jdbc3/net/sf/log4jdbc/package-summary.html">JDK1.4/JDBC 3 javadoc</a> |
|
||||
<a href="apidocs-jdbc4/net/sf/log4jdbc/package-summary.html">JDK1.6/JDBC 4 javadoc</a>
|
||||
<br>
|
||||
<img class="logo" src="log4jdbc-logo-gray.png">
|
||||
|
||||
</h1>
|
||||
<p class="ad">
|
||||
YourKit is kindly supporting open source projects with its full-featured Java Profiler.
|
||||
YourKit, LLC is creator of innovative and intelligent tools for profiling
|
||||
Java and .NET applications. Take a look at YourKit's leading software products:
|
||||
<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>
|
||||
@@ -30,6 +30,11 @@ log4j.additivity.jdbc.sqlonly=false
|
||||
log4j.logger.jdbc.sqltiming=DEBUG,sqltiming
|
||||
log4j.additivity.jdbc.sqltiming=false
|
||||
|
||||
! Log connection open/close events and connection number dump
|
||||
log4j.logger.jdbc.connection=FATAL,connection
|
||||
log4j.additivity.jdbc.connection=false
|
||||
|
||||
|
||||
! the appender used for the JDBC API layer call logging above, sql only
|
||||
log4j.appender.sql=org.apache.log4j.FileAppender
|
||||
log4j.appender.sql.File=./logs/sql.log
|
||||
@@ -50,3 +55,10 @@ log4j.appender.jdbc.File=./logs/jdbc.log
|
||||
log4j.appender.jdbc.Append=false
|
||||
log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
|
||||
|
||||
! the appender used for the JDBC Connection open and close events
|
||||
log4j.appender.connection=org.apache.log4j.FileAppender
|
||||
log4j.appender.connection.File=./logs/connection.log
|
||||
log4j.appender.connection.Append=false
|
||||
log4j.appender.connection.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n
|
||||
|
||||
+16
-3
@@ -37,15 +37,23 @@
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<appender name="jdbc-connection" class="org.apache.log4j.FileAppender">
|
||||
<param name="File" value="./logs/connection.log"/>
|
||||
<param name="Append" value="false"/>
|
||||
<layout class="org.apache.log4j.PatternLayout">
|
||||
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n"/>
|
||||
</layout>
|
||||
</appender>
|
||||
|
||||
<!--
|
||||
The Following 4 logs can be turned on and off while the server is running
|
||||
The Following 5 logs can be turned on and off while the server is running
|
||||
LIVE in order to trace the SQL and/or all JDBC coming out of the application.
|
||||
|
||||
To turn a log on, set the level value to INFO or DEBUG (to see class name and
|
||||
line number information in the log) The DEBUG setting is much more inefficient
|
||||
but the output is much more useful.
|
||||
|
||||
To turn off JDBC logging completely, you must set all 4 logs to a level higher
|
||||
To turn off JDBC logging completely, you must set all 5 logs to a level higher
|
||||
than ERROR (FATAL is suggested.)
|
||||
-->
|
||||
|
||||
@@ -75,7 +83,12 @@
|
||||
<level value="fatal"/>
|
||||
<appender-ref ref="jdbc-appender"/>
|
||||
</logger>
|
||||
|
||||
|
||||
<!-- log connection open/close events and dump of all open connection numbers -->
|
||||
<logger name="jdbc.connection" additivity="false">
|
||||
<level value="fatal"/>
|
||||
<appender-ref ref="connection-appender"/>
|
||||
</logger>
|
||||
|
||||
<!-- this log is for internal debugging of log4jdbc, itself -->
|
||||
<!-- debug logging for log4jdbc itself -->
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 996 B |
@@ -1,31 +0,0 @@
|
||||
/*
|
||||
red in logo is #f06
|
||||
purple in logo is #ef39e9
|
||||
*/
|
||||
|
||||
.left {text-align:left;}
|
||||
.right{text-align:right;}
|
||||
.usage {text-align:left;}
|
||||
h1 {font-size:1em;color:#f06;background-color:#eee;display:block;padding:0.8em;}
|
||||
h2 {font-size:1.2em;color:#f06;background-color:#eee;display:block;height:2em;padding-top:0.8em;}
|
||||
h3 {font-size:1.1em;color:0;font-weight:bold;margin:5px;}
|
||||
a {text-decoration:none;}
|
||||
a:link {color: #f06;}
|
||||
a:visited {color: #f06;}
|
||||
p {padding:10px;}
|
||||
span.file {font-weight:bold;}
|
||||
ul {padding:10px;list-style:square}
|
||||
ol {padding:10px;list-style:decimal;}
|
||||
|
||||
ul li {margin-left:2em;padding:0.3em;}
|
||||
ol li {margin-left:2em;padding:0.3em;}
|
||||
|
||||
li p {margin-left:0;}
|
||||
|
||||
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;}
|
||||
|
||||
.ad {font-size:0.8em;color:blue}
|
||||
|
||||
.sflogo {float:right; margin-right:30px;}
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
Before Width: | Height: | Size: 3.5 KiB |
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,41 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.googlecode.log4jdbc</groupId>
|
||||
<artifactId>log4jdbc</artifactId>
|
||||
<version>1.3-SNAPSHOT</version>
|
||||
<name>log4jdbc</name>
|
||||
<description>log4jdbc is a Java JDBC driver that can log SQL and/or JDBC calls (and optionally SQL timing information) for other JDBC drivers using the Simple Logging Facade For Java (SLF4J) logging system.</description>
|
||||
<url>https://github.com/arthurblake/log4jdbc</url>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>The Apache Software License, Version 2.0</name>
|
||||
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
|
||||
<distribution>repo</distribution>
|
||||
<comments>A business-friendly OSS license</comments>
|
||||
</license>
|
||||
</licenses>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>1.6.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<sourceDirectory>src-jdbc41</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.5.1</version>
|
||||
<configuration>
|
||||
<source>1.7</source>
|
||||
<target>1.7</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
@@ -0,0 +1,8 @@
|
||||
log4jdbc is built with Ant 1.8.x and JDK 1.6.x
|
||||
|
||||
The build.cmd file is useful for building both the jdbc 3 version (JDK 1.4) and
|
||||
the jdbc 4 version (under JDK 1.6) under windows. The javadoc.cmd file is
|
||||
useful for building javadoc (requires the 3rd party ydoc tool)
|
||||
|
||||
NOTE: as of 2015-09-30 the jdbc 3 version has been removed - not all build
|
||||
scripts may have been updated to reflect that.
|
||||
+6
-12
@@ -1,18 +1,12 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem this is a bit convoluted because two jdk's must be invoked...
|
||||
REM (JDBC 3 version removed as of 2015-09-30)
|
||||
REM invoke the 1.6 jvm for the JDBC 4 version
|
||||
|
||||
set ANT_HOME=c:\apache-ant-1.6.5
|
||||
|
||||
set JAVA_HOME=C:\j2sdk1.4.2_13
|
||||
set ANT_HOME=c:\apache-ant-1.8.1
|
||||
set JAVA_HOME=C:\jdk\1.6.0_21
|
||||
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin
|
||||
|
||||
call java -version
|
||||
|
||||
call ant -Djdbc.level=3 all
|
||||
|
||||
set JAVA_HOME=C:\jdk1.6.0_03
|
||||
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin
|
||||
call java -version
|
||||
|
||||
call ant -Djdbc.level=4 all
|
||||
call ant -Djdbc.level=4 -Djvm.ver=1.6 all
|
||||
|
||||
+37
-28
@@ -6,26 +6,41 @@
|
||||
|
||||
Tested with Apache Ant version 1.6.5 & 1.7
|
||||
|
||||
built with jdk 1.4.2_13 (for use with jdbc3)
|
||||
built with jdk 1.4.2_13 (for use with jdbc3)
|
||||
and/or jdk 1.6.0 (for use with jdbc4)
|
||||
|
||||
Copyright 2007-2015 Arthur Blake
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
-->
|
||||
|
||||
<project name="log4jdbc" default="all" basedir="..">
|
||||
|
||||
<!-- the jdbc.level flag should be set externally to either 3 or 4
|
||||
|
||||
this is the jdbc version and should be 3 if using a jdk 1.4 or 1.5 (jdk 1.4 is recommended for maximum compatibility)
|
||||
|
||||
|
||||
this is the jdbc version and should be 3 if using a jdk 1.4 or 1.5
|
||||
|
||||
the jdbc.level flag should be set to 4 if using a jdk 1.6 or greater.
|
||||
|
||||
defaults to jdbc3 build if not set externally
|
||||
|
||||
defaults to jdbc3 build if not set externally
|
||||
|
||||
therefore to build both, ant should be invoked twice, setting the jdbc.level externally
|
||||
to 3 and then 4. and using the jdk 1.4 and then 1.6.
|
||||
-->
|
||||
|
||||
<property name="jdbc.level" value="3" />
|
||||
<property name="jvm.ver" value="1.4" />
|
||||
<property name="jdbc.prefix" value="jdbc${jdbc.level}" />
|
||||
|
||||
<property name="src" value="src-${jdbc.prefix}" />
|
||||
@@ -34,19 +49,19 @@
|
||||
|
||||
|
||||
<!-- release version -->
|
||||
<property name="version" value="1.1beta1"/>
|
||||
<property name="version" value="1.3"/>
|
||||
|
||||
<target name="all" depends="cleancompile,compile,cleanjar,jar"/>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
The ydoc.home.3 and ydoc.home.4 properties are only used for the ydoc.3
|
||||
and ydoc.4 targets for producing javadoc with UML
|
||||
|
||||
it requires the commercial ydoc utility
|
||||
|
||||
it requires the commercial ydoc utility
|
||||
(see http://www.yworks.com/en/products_ydoc.htm)
|
||||
|
||||
|
||||
use the javadoc target to generate regular javadoc
|
||||
|
||||
|
||||
ydoc.home.3 is for jdk1.4 / JDBC 3
|
||||
ydoc.home.4 is for jdk1.6 / JDBC 4
|
||||
-->
|
||||
@@ -54,7 +69,8 @@
|
||||
<property name="ydoc.home.4" value="/ydoc-2.2_04-jdk1.5"/>
|
||||
|
||||
<target name="compile" description="compile all the source code">
|
||||
<javac srcdir="${src}" destdir="${classes}" deprecation="true" debug="true">
|
||||
<javac source="${jvm.ver}" target="${jvm.ver}" srcdir="${src}" destdir="${classes}"
|
||||
deprecation="true" debug="true" includeAntRuntime="false">
|
||||
<classpath>
|
||||
<pathelement location="$src"/>
|
||||
<fileset dir="lib">
|
||||
@@ -68,7 +84,7 @@
|
||||
<delete dir="${classes}"/>
|
||||
<mkdir dir="${classes}"/>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="jar" description="jar up all the class files">
|
||||
<mkdir dir="build"/>
|
||||
<jar jarfile="build/log4${jdbc.prefix}-${version}.jar" basedir="${classes}"/>
|
||||
@@ -79,26 +95,21 @@
|
||||
</target>
|
||||
|
||||
|
||||
<target name="cleanjavadoc">
|
||||
<target name="cleanjavadoc" description="clean javadoc">
|
||||
<delete dir="${apidocs}" />
|
||||
<mkdir dir="${apidocs}" />
|
||||
</target>
|
||||
|
||||
<target name="cleanrelease">
|
||||
<target name="cleanrelease" description="clean up any release files">
|
||||
<delete file="../log4jdbc-${version}.zip"/>
|
||||
<delete file="../log4jdbc-${version}.tar"/>
|
||||
<delete file="../log4jdbc-${version}.tar.gz"/>
|
||||
</target>
|
||||
|
||||
<target name="clean" depends="cleanrelease,cleanjavadoc,cleanjar,cleancompile" description="clean up all build artifacts"/>
|
||||
|
||||
<target name="release" depends="cleanrelease" description="make a complete release distribution (a .jar zip and tar.gz file for release)">
|
||||
<zip destfile="../log4jdbc-${version}.zip">
|
||||
<zipfileset dir="." prefix="log4jdbc-${version}" excludes="*.zip,*.tar.gz,*,iml,*.ipr,*.iws,thirdparty-stuff/**,classes*/**"/>
|
||||
</zip>
|
||||
<tar destfile="../log4jdbc-${version}.tar">
|
||||
<tarfileset dir="." prefix="log4jdbc-${version}" excludes="*.zip,*.tar.gz,*,iml,*.ipr,*.iws,thirdparty-stuff/**,classes*/**"/>
|
||||
</tar>
|
||||
<gzip destfile="../log4jdbc-${version}.tar.gz" src="../log4jdbc-${version}.tar"/>
|
||||
<delete file="../log4jdbc-${version}.tar"/>
|
||||
</target>
|
||||
|
||||
<!-- make the javadoc (or ydoc which includes UML diagrams) -->
|
||||
@@ -148,7 +159,7 @@
|
||||
<!-- note that the jdk source code is referenced here so that javadoc will be generated from
|
||||
interface class methods when none is specified in the implementation -->
|
||||
|
||||
<sourcepath path="/j2sdk1.4.2_13/src"/>
|
||||
<sourcepath path="/jdk/1.4.2_19/src"/>
|
||||
<link href="http://java.sun.com/j2se/1.4.2/docs/api/"/>
|
||||
<!--
|
||||
<link href="http://java.sun.com/j2ee/1.4/docs/api/"/>
|
||||
@@ -180,6 +191,7 @@
|
||||
<property name="ps" value="${path.separator}"/>
|
||||
|
||||
<javadoc destdir="${apidocs}" packagenames="net.sf.log4jdbc.*"
|
||||
maxmemory="512m"
|
||||
Windowtitle="log4${jdbc.prefix} ${version}"
|
||||
Header="<b><a href="http://log4jdbc.sourceforge.net">log4${jdbc.prefix} ${version}</a></b>"
|
||||
Use="true" breakiterator="true">
|
||||
@@ -194,11 +206,8 @@
|
||||
<!-- note that the jdk source code is referenced here so that javadoc will be generated from
|
||||
interface class methods when none is specified in the implementation -->
|
||||
|
||||
<sourcepath path="/jdk1.6.0/src"/>
|
||||
<sourcepath path="/jdk/1.6.0_21/src"/>
|
||||
<link href="http://java.sun.com/javase/6/docs/api/"/>
|
||||
<!--
|
||||
<link href="http://java.sun.com/j2ee/1.4/docs/api/"/>
|
||||
-->
|
||||
<link href="http://www.slf4j.org/api/"/>
|
||||
|
||||
<!-- ydoc doclet for UML diagrams, see http://www.yworks.com/en/products_ydoc.htm -->
|
||||
|
||||
+7
-12
@@ -1,19 +1,14 @@
|
||||
@echo off
|
||||
setlocal
|
||||
|
||||
rem run ydoc for jdbc 3 with jdk 1.4 and
|
||||
rem run ydoc for jdbc 4 with jdk 1.6
|
||||
REM (JDBC 3 version removed as of 2015-09-30)
|
||||
REM invoke the 1.6 jvm for the JDBC 4 version
|
||||
|
||||
set ANT_HOME=c:\apache-ant-1.6.5
|
||||
set ANT_HOME=c:\apache-ant-1.8.1
|
||||
set ANT_OPTS=-Xmx512m
|
||||
|
||||
set JAVA_HOME=C:\j2sdk1.4.2_13
|
||||
set JAVA_HOME=c:\jdk\1.6.0_21
|
||||
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin
|
||||
|
||||
call java -version
|
||||
|
||||
call ant -Djdbc.level=3 ydoc.3
|
||||
|
||||
set JAVA_HOME=c:\jdk1.6.0_03
|
||||
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin
|
||||
call java -version
|
||||
|
||||
call ant -Djdbc.level=4 ydoc.4
|
||||
call ant -Djdbc.level=4 -Djvm.ver=1.6 ydoc.4
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user