Search code examples
javaopenejb

How to configure OpenEJB logging?


How can I configure OpenEJB logging format? This is what what I see now in logs:

[...]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec
Running com.XXX.FooTest
Apache OpenEJB 3.1.3    build: 20101015-05:42
http://openejb.apache.org/
INFO - openejb.home = /code/XXX
INFO - openejb.base = /code/XXX
INFO - Configuring Service(id=Default Security Serv...
[...]

I would like to disable INFO messages, and change formatting of others. Changes in log4j.properties have no effect.


Solution

  • This is what I did to make things work properly (in pom.xml):

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>2.5</version>
      <configuration>
        <systemPropertyVariables>
          <openejb.logger.external>true</openejb.logger.external>
        </systemPropertyVariables>
      </configuration>
    </plugin>
    

    Works fine now. This is my test/resources/jndi.properties:

    openejb.validation.output.level=VERBOSE
    openejb.nobanner=false
    

    This is test/resources/log4j.properties:

    log4j.rootLogger=INFO, CONSOLE
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern = [%-5p] %c: %m\n
    # OpenEJB levels
    log4j.logger.OpenEJB=INFO
    log4j.logger.OpenEJB.options=INFO
    log4j.logger.OpenEJB.server=INFO
    log4j.logger.OpenEJB.startup=INFO
    log4j.logger.OpenEJB.startup.service=INFO
    log4j.logger.OpenEJB.startup.config=INFO
    log4j.logger.OpenEJB.hsql=INFO
    log4j.logger.CORBA-Adapter=INFO
    log4j.logger.Transaction=INFO
    log4j.logger.org.apache.activemq=INFO
    log4j.logger.org.apache.geronimo=INFO
    # OpenJPA logging levels
    log4j.logger.openjpa.Tool=WARN
    log4j.logger.openjpa.Runtime=WARN
    log4j.logger.openjpa.Remote=WARN
    log4j.logger.openjpa.DataCache=WARN
    log4j.logger.openjpa.MetaData=WARN
    log4j.logger.openjpa.Enhance=WARN
    log4j.logger.openjpa.Query=WARN
    log4j.logger.openjpa.jdbc.SQL=WARN
    log4j.logger.openjpa.jdbc.SQLDiag=WARN
    log4j.logger.openjpa.jdbc.JDBC=WARN
    log4j.logger.openjpa.jdbc.Schema=WARN
    

    Now I can fine-tune logging of OpenEJB during testing, thanks to David's support :)