You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Michael Dick (JIRA)" <ji...@apache.org> on 2010/04/15 21:22:50 UTC
[jira] Updated: (OPENJPA-1557) Logging configuration is difficult
for running tests
[ https://issues.apache.org/jira/browse/OPENJPA-1557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dick updated OPENJPA-1557:
----------------------------------
Fix Version/s: 1.0.4
1.2.3
> Logging configuration is difficult for running tests
> ----------------------------------------------------
>
> Key: OPENJPA-1557
> URL: https://issues.apache.org/jira/browse/OPENJPA-1557
> Project: OpenJPA
> Issue Type: Improvement
> Affects Versions: 1.2.2, 2.0.0-beta2
> Reporter: Craig L Russell
> Assignee: Craig L Russell
> Fix For: 1.0.4, 1.2.3, 1.3.0, 2.0.0-beta3
>
> Attachments: OPENJPA-1557.diff.txt
>
>
> Logging is difficult to configure and is incorrectly documented for running tests.
> There is a system property that can be set on the command line when running tests using surefire: openjpa.loglevel. This property, set via -Dopenjpa.loglevel, is used in the pom.xml to send logging properties to the runtime. The simple case works, e.g. -Dopenjpa.loglevel=error. This affects enhancement and the test runtime to report only errors.
> However, setting this property also results in warnings:
> enhance.all.entities:
> [echo] running enhancer
> 12 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 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".
> This is because the property is both passed to the runtime and also used to configure the log level via the surefire plugin (the relevant part of the pom.xml follows):
> <property>
> <name>openjpa.Log</name>
> <value>DefaultLevel=${openjpa.loglevel}</value>
> </property>
> Via "property injection" it's also possible to set any number of other log properties using this mechanism, although it's a bit odd. Just concatenate the extra properties after the level. For example,
> mvn test -Dopenjpa.loglevel=trace,file=openjpa.log,Runtime=info
> This will set the default log level to trace, send the log output to the file openjpa.log, and set the Runtime log level to info.
> The surefire plugin effectively disables the openjpa.Log so the user cannot use this property.
> The warning can be removed by changing the PersistenceTestCase.createNamedEMF:
> Map map = new HashMap(System.getProperties());
> map.remove("openjpa.level");
> But the enhancer doesn't go through this path.
> Before I change the online documentation I'd like to see if anyone else has any ideas how to make this easier.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira