<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->
<plexus>
  <components>

    <!--
     | Logger manager
     -->
    <component>
      <role>org.codehaus.plexus.logging.LoggerManager</role>
      <implementation>org.codehaus.plexus.logging.log4j.Log4JLoggerManager</implementation>
      <lifecycle-handler>basic</lifecycle-handler>

      <configuration>
        <threshold>INFO</threshold>
        <default-appender>console</default-appender>

        <appenders>
          <appender>
            <id>console</id>
            <type>org.apache.log4j.ConsoleAppender</type>
            <conversion-pattern>%d [%t] %-5p %c - %m%n</conversion-pattern>
          </appender>
        </appenders>

        <levels>
          <!-- Help identify bugs during testing -->
          <level>
            <hierarchy>org.apache.maven.continuum</hierarchy>
            <level>DEBUG</level>
          </level>
          <level>
            <hierarchy>org.apache.maven</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <hierarchy>org.apache.maven.continuum.project.builder.maven.MavenTwoContinuumProjectBuilder:maven-two-builder</hierarchy>
            <level>DEBUG</level>
          </level>          
          <level>
            <hierarchy>org.codehaus.plexus.redback</hierarchy>
            <level>INFO</level>
          </level>
          <!-- squelch noisy objects (for now) -->
          <level>
            <hierarchy>org.codehaus.plexus.mailsender.MailSender</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <hierarchy>org.quartz</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <hierarchy>org.apache.jasper</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <hierarchy>com.opensymphony.xwork</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <!-- CONTINUUM-1228 -->
            <hierarchy>com.opensymphony.xwork2.util.OgnlUtil</hierarchy>
            <level>ERROR</level>
          </level>
          <level>
            <hierarchy>org.codehaus.plexus.PlexusContainer</hierarchy>
            <level>INFO</level>
          </level>
          <level>
            <hierarchy>JPOX</hierarchy>
            <level>WARN</level>
          </level>
          <level>
            <hierarchy>JPOX.MetaData</hierarchy>
            <level>ERROR</level>
          </level>
          <level>
            <hierarchy>JPOX.RDBMS.SQL</hierarchy>
            <level>ERROR</level>
          </level>
          <level>
            <hierarchy>SQL</hierarchy>
            <level>ERROR</level>
          </level>
          <level>
            <hierarchy>freemarker</hierarchy>
            <level>WARN</level>
          </level>
          <level>
            <hierarchy>org.codehaus.plexus.component.manager.ClassicSingletonComponentManager</hierarchy>
            <level>ERROR</level>
          </level>
        </levels>
      </configuration>
    </component>    
  </components>
</plexus>