Hi Kevin,

I did a little more experimentation. There are two persistence units in the persistence.xml: xml-persistence-unit and test.

I can override the settings of the xml-persistence-unit on the command line.

So the settings for File, DefaultLevel, Tool, Enhance, MetaData are all getting set properly for enhancement.

But the log settings I put into the persistence unit test are not taking effect properly. To verify that I'm using the right persistence unit, I deliberately caused an error and the error was reported.

But even with setting openjpa.Log in the persistence unit, I still get console logging:

Running org.apache.openjpa.persistence.identity.TestSQLBigIntegerId
TestSQLBigIntegerId 1268089380000
543 test INFO [main] openjpa.Runtime - Starting OpenJPA 1.3.0- SNAPSHOT 5763 test INFO [main] openjpa.jdbc.JDBC - Using dictionary class "org.apache.openjpa.jdbc.sql.MySQLDictionary" (MySQL 5.1.41-ndb-7.1.2- beta-debug ,MySQL-AB JDBC Driver mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )). Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.698 sec

I modified a test case to put the logging information into the setup string and this changed the behavior of the logger.

    public void setUp() {
        setUp(SQLBigIntegerIdEntity.class
, "openjpa.Log", "File=openjpaLogger.log,DefaultLevel=INFO,SQL=TRACE,JDBC=TRACE"
                );
    }

Any ideas why adding properties to the command line or persistence.xml doesn't take effect for tests, but adding the properties to setup does work?

Thanks,

Craig

On Mar 8, 2010, at 2:25 PM, Kevin Sutter wrote:

Hi Craig,
We have found exceptions to the rules, but the order of property
configuration is documented in this section [1] of the manual. Based on
what you have provided, my guess is that some of your persistence.xml
file(s) are overriding the system properties you are trying to set.

I don't personally use the system properties, but I would guess you need to
enclose the values in quotes.  So, I would try that for setting the
openjpa.Log property.

Good luck!
Kevin

[1]
http://openjpa.apache.org/builds/latest/docs/manual/manual.html#ref_guide_conf_specify

On Mon, Mar 8, 2010 at 2:24 PM, Craig L Russell <[email protected]>wrote:

Hi,

I'm trying to do a few simple things with logging, and having trouble.

1. Disable WARN messages from the enhancer.

2. Get SQL TRACE messages.

I've tried unsuccessfully to get either of these to work. I'm using the
standard OpenJPA logging, and get a few hundred messages out of the
enhancer, so I know logging is basically working.

Reading everything I can about the logging system, I tried to get the
enhancer to stop logging WARN but only log ERROR:

-Dopenjpa.Log=none

I still get WARN messages; don't get any errors from the logging system; it
looks like the enhancer is just ignoring this setting

-Dopenjpa.Log=SQL=TRACE,File=openjpaLogger.log

I get output sent to openjpaLogger.log file as expected, but nothing of
interest. Just:

11  TRACE  [main] openjpa.Runtime - Default configuration information
couldn't be loaded from any configuration provider.0  TRACE  [main]
openjpa.Runtime - Default configuration information couldn't be loaded from
any configuration provider.
17  WARN   [main] openjpa.Runtime - The configuration property named
"openjpa.LogLevel" was not recognized and will be ignored, although the name
closely matches a valid property called "openjpa.Log".
17  TRACE  [main] openjpa.Runtime - Default configuration information
couldn't be loaded from any configuration provider.
2  WARN   [main] openjpa.Runtime - The configuration property named
"openjpa.LogLevel" was not recognized and will be ignored, although the name
closely matches a valid property called "openjpa.Log".
2  TRACE  [main] openjpa.Runtime - Default configuration information
couldn't be loaded from any configuration provider.
10  TRACE  [main] openjpa.Runtime - Default configuration information
couldn't be loaded from any configuration provider.

And where did it get the LogLevel? I didn't set this property!

Can anyone point me in the right direction? Is the -Dopenjpa.Log useful for anything or do I have to use persistence.xml properties (I haven't tried this since there are hundreds of persistence.xml files that I would need to
fiddle).

Thanks,

Craig

Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[email protected]
P.S. A good JDO? O, Gasp!



Craig L Russell
Architect, Sun Java Enterprise System http://db.apache.org/jdo
408 276-5638 mailto:[email protected]
P.S. A good JDO? O, Gasp!

Reply via email to