Index: src/main/java/org/apache/jdo/exectck/Help.java
===================================================================
--- src/main/java/org/apache/jdo/exectck/Help.java	(revision 1237095)
+++ src/main/java/org/apache/jdo/exectck/Help.java	(working copy)
@@ -55,6 +55,8 @@
         msg.append("  Default value is \"applicationidentity datastoreidentity\"\n");
         msg.append("* project.lib.iut.directory\n");
         msg.append("  Location of implementation jar files. Default: ${basedir}/../lib/iut\n");
+        msg.append("* jdo.tck.impl.logfile\n");
+        msg.append("  Location of implementation log file. Default: ${basedir}/datanucleus.txt\n");
         msg.append("* jdo.tck.doInstallSchema\n");
         msg.append("  Setting this parameter to false will bypass schema installation.\n");
         msg.append("* jdo.tck.doEnhance\n");
Index: src/main/java/org/apache/jdo/exectck/RunTCK.java
===================================================================
--- src/main/java/org/apache/jdo/exectck/RunTCK.java	(revision 1237213)
+++ src/main/java/org/apache/jdo/exectck/RunTCK.java	(working copy)
@@ -41,7 +41,6 @@
  * @goal runtck
  *
  * @phase integration-test
- *
  */
 public class RunTCK extends AbstractTCKMojo {
 
@@ -52,6 +51,7 @@
      * @required
      */
     private boolean doRunTCK;
+
     /**
      * To run the RunTCK plugin goal in verbose mode.
      * @parameter expression="${jdo.tck.runTCKVerbose}"
@@ -59,6 +59,7 @@
      * @required
      */
     private boolean runtckVerbose;
+
     /**
      * Run the TCK in a debugger.
      * @parameter expression="${jdo.tck.debugTCK}"
@@ -66,6 +67,7 @@
      * @required
      */
     private boolean debugTCK;
+
     /**
      * Implementation to be tested (jdori or iut).
      * Any value other than "jdori" will test an appropriately configured IUT
@@ -74,6 +76,7 @@
      * @required
      */
     private String impl;
+
     /**
      * Location of third party libraries such as JNDI.
      * @parameter expression="${project.lib.ext.directory}"
@@ -81,6 +84,15 @@
      * @required
      */
     private String extLibsDirectory;
+
+    /**
+     * Location of implementation log file.
+     * @parameter expression="${jdo.tck.impl.logfile}"
+     *      default-value="${basedir}/datanucleus.txt"
+     * @required
+     */
+    private String implLogFile;
+
     /**
      * Location of jar files for implementation under test.
      * @parameter expression="${project.lib.iut.directory}"
@@ -96,6 +108,7 @@
      * @optional
      */
     private String pmfProperties;
+
     /**
      * Name of file in src/conf containing property jdo.tck.exclude,
      *   whose value is a list of files to be excluded from testing.
@@ -148,6 +161,7 @@
      * @optional
      */
     private String debugDirectives;
+
     /**
      * Class used to run a batch of tests.
      * @parameter expression="${jdo.tck.testrunnerclass}"
@@ -155,6 +169,7 @@
      * @required
      */
     private String testRunnerClass;
+
     /**
      * Class used to output test result and configuration information.
      * @parameter expression="${jdo.tck.resultprinterclass}"
@@ -410,6 +425,28 @@
                     }
                     result = (new Utilities()).invokeTest(command);
 
+                    // TODO This is only for the RI right now, but could be made to work for UIT
+                    if ("jdori".equals(impl)) {
+                    	// Move log to per-test location
+                    	String idname = "dsid";
+                        if (idtype.trim().equals("applicationidentity")) {
+                            idname = "app";
+                        }
+                    	String configName = cfg;
+                    	if (cfg.indexOf('.') > 0) {
+                    		configName = configName.substring(0, cfg.indexOf('.'));
+                    	}
+                    	String testLogFilename = thisLogDir +
+                    	    idname + "-" + configName + "-datanucleus.txt";
+                    	try {
+                        	File logFile = new File(implLogFile);
+							FileUtils.moveFile(logFile, new File(testLogFilename));
+						} catch (Exception e) {
+							System.out.println(">> Error moving implementation log file " +
+									e.getMessage());
+						}
+                    }
+
                     if (runtckVerbose) {
                         System.out.println("\nCommand line is: \n" + command.toString());
                         System.out.println("Test exit value is " + result.getExitValue());
