Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-577

OpenJPA doesn't create LoggingConnectionDecorator instance if log trace is not enabled

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.1.0
    • Fix Version/s: 1.1.0
    • Component/s: jdbc
    • Labels:
      None

      Description

      In current openjpa code, a LoggingConnectionDecorator instance is created only if jdbcLog or sqlLog trace is enabled. This change was made for resolving issue http://issues.apache.org/jira/browse/OPENJPA-407.

      $ svn diff -r 589723:590150 DataSourceFactory.java

      Index: DataSourceFactory.java
      ===================================================================
      — DataSourceFactory.java (revision 589723)
      +++ DataSourceFactory.java (revision 590150)
      @@ -162,12 +162,15 @@
      decorators.addAll(decs);
      }

      • // logging decorator
      • LoggingConnectionDecorator lcd = new LoggingConnectionDecorator();
      • Configurations.configureInstance(lcd, conf, opts);
      • lcd.getLogs().setJDBCLog(jdbcLog);
      • lcd.getLogs().setSQLLog(sqlLog);
      • decorators.add(lcd);
        + if (jdbcLog.isTraceEnabled() || sqlLog.isTraceEnabled()) { + // logging decorator + LoggingConnectionDecorator lcd = + new LoggingConnectionDecorator(); + Configurations.configureInstance(lcd, conf, opts); + lcd.getLogs().setJDBCLog(jdbcLog); + lcd.getLogs().setSQLLog(sqlLog); + decorators.add(lcd); + }

      dds.addDecorators(decorators);
      return dds;

      With this change, openjpa.ConnectionFactoryProperties options ("PrettyPrint", "PrettyPrintLineLength") and kodo.ConnectionFactoryProperties("TrackParameters") won't take effect unless log trace is enabled.

      Before this change we allow tracking parameters in error reporting when logging is disabled. I believe this is a regresson, and we should revert that change.

        Activity

        Hide
        jasonzheng1970 Jason Zheng added a comment -

        The attached patch reverted the change made in r590150 for DataSourceFactory.java, so openjpa will create an instance of LoggingConnectionDecorator even if the log trace is disabled.

        Show
        jasonzheng1970 Jason Zheng added a comment - The attached patch reverted the change made in r590150 for DataSourceFactory.java, so openjpa will create an instance of LoggingConnectionDecorator even if the log trace is disabled.
        Hide
        pcl Patrick Linskey added a comment -

        Keeping open as a reminder to backport to trunk.

        Show
        pcl Patrick Linskey added a comment - Keeping open as a reminder to backport to trunk.

          People

          • Assignee:
            Unassigned
            Reporter:
            jasonzheng1970 Jason Zheng
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development