plexus使用(四)-LoggerManager

如何用log4j替换plexus默认的log?

先了解下plexus的默认log相关配置。

1、组件的log是org.codehaus.plexus.logging.LoggerManager处理的

2、LoggerManager在plexus容器中实例化org.codehaus.plexus.logging.Logger,loggerManager

能在plexus容器使用前创建或获得的log的配置。

3、loggerManager在plexus容器启动时初始化,因此,loggerManager需要通过plexus容器的配置被重载。

目前为止,我们还未接触过plexus容器的配置,也没在plexus容器中全面测试组件,接下来我们:

1、通过plexusTestcase重载配置来建立pelxus容器的实例

2、重载配置,建立log4jloggerManager

对于步骤1,我们修改WebMonitorTest并重载getCustomConfiguration():

protected InputStream getCustomConfiguration() throws Exception {

        InputStream is = this.getClass ().getClassLoader ().getResourceAsStream ("org/codehaus/plexus/PlexusTestContainerConfig.xml");

        return is;

    }

对于步骤2,我们在<project-root>/src/test/resources/org/codehaus/plexus/PlexusTestContainerConfig.xml路径下创建配置文件:

<!-- Override the configuration that is used by the PlexusTestCase to create a Container instance -->

<plexus>

  <components>

    <component>

      <role>org.codehaus.plexus.logging.LoggerManager</role>

      <implementation>

        org.codehaus.plexus.logging.log4j.Log4JLoggerManager

      </implementation>

      <configuration>

        <appenders>

          <appender>

            <id>rolling</id>

            <threshold>DEBUG</threshold>

            <type>org.apache.log4j.RollingFileAppender</type>

            <conversion-pattern>

              %-4r [%t] %-5p %c %x - %m%n

            </conversion-pattern>

            <properties>

              <property>

                <name>file</name>

                <value>${plexus.home}/logs/plexus-rolling.log</value>

              </property>

              <property>

                <name>append</name>

                <value>true</value>

              </property>

              <property>

                <name>maxBackupIndex</name>

                <value>10</value>

              </property>

              <property>

                <name>maxFileSize</name>

                <value>20</value>

              </property>

            </properties>

          </appender>

        </appenders>

      </configuration>

    </component>

  </components>

</plexus>


你可能感兴趣的:(中文,文档,教程,plexus)