首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用maven-jetty-plugin登录日志

用maven-jetty-plugin登录日志
EN

Stack Overflow用户
提问于 2011-11-10 23:20:08
回答 4查看 8.3K关注 0票数 8

我想在maven-jetty-plugin中使用logback日志。显然,系统属性logback.configurationFile是在启动 maven- jetty -plugin并初始化了slf4j之后读取的,因此文件./src/test/resources/logback.xml不会被jetty读取。因此,我将所有日志消息设置为调试级别,并打印到控制台(默认的logback配置)。用-Dlogback.configurationFile=发射maven ..。解决了问题。但是,我更喜欢在pom中设置属性,因为使用log4j和maven-jetty是可能的。有什么想法吗?

这是我的pom.xml:

代码语言:javascript
复制
...
 <plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>jetty-maven-plugin</artifactId>
    <version>8.0.4.v20111024</version>
    <dependencies>
       <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.0.0</version>
       </dependency>
       <dependency>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-api</artifactId>
          <version>1.6.1</version>
        </dependency>
        </dependencies>
        <configuration>
          <systemProperties>
            <systemProperty>
               <name>logback.configurationFile</name>
               <value>./src/test/resources/logback.xml</value>
            </systemProperty>
           </systemProperties>
...

下面是logback.xml:

代码语言:javascript
复制
<configuration>

  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <!-- daily rollover -->
      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
    </rollingPolicy>

    <encoder>
      <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>

  </appender>

  <root level="INFO">
    <appender-ref ref="FILE" />
  </root>

</configuration>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-11-18 15:59:56

使用旧的maven-jetty-plugin而不是jetty-maven-plugin对我有用:

代码语言:javascript
复制
<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <version>6.1.26</version>
  <configuration>
    <systemProperties>
      <systemProperty>
        <name>logback.configurationFile</name>
        <value>${project.build.outputDirectory}/jetty-logback.xml</value>
      </systemProperty>
    </systemProperties>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.6.4</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.0.0</version>
    </dependency>
  </dependencies>
</plugin>
票数 4
EN

Stack Overflow用户

发布于 2013-03-28 16:25:42

它适用于Jetty 9和jetty-maven-plugin:

代码语言:javascript
复制
<plugin>
  <groupId>org.eclipse.jetty</groupId>
  <artifactId>jetty-maven-plugin</artifactId>
  <version>${jetty.version}</version>
  <dependencies>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>${logback.version}</version>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-access</artifactId>
      <version>${logback.version}</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>${slf4j.version}</version>
    </dependency>
  </dependencies>
  <configuration>
    <scanIntervalSeconds>10</scanIntervalSeconds>
    <webAppSourceDirectory>src/main/resources/htdocs</webAppSourceDirectory>
    <webApp>
      <descriptor>src/main/webapp/WEB-INF/web.xml</descriptor>
    </webApp>
    <systemProperties>
      <systemProperty>
        <name>org.eclipse.jetty.util.log.Log</name>
        <value>org.eclipse.jetty.util.log.Slf4jLog</value>
      </systemProperty>
      <systemProperty>
        <name>logback.configurationFile</name>
        <value>src/main/resources/logback.xml</value>
      </systemProperty>
    </systemProperties>
  </configuration>
</plugin>
票数 7
EN

Stack Overflow用户

发布于 2013-07-11 11:35:08

您可以使用Properties-Maven-Plugin:

代码语言:javascript
复制
<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>properties-maven-plugin</artifactId>
        <version>1.0-alpha-2</version>
        <executions>
          <execution>
            <goals>
              <goal>set-system-properties</goal>
            </goals>
            <configuration>
              <properties>
                <property>
                  <name>logback.configurationFile</name>
                  <value>src/test/resources/logback.xml</value>
                </property>
              </properties>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

文档:http://mojo.codehaus.org/properties-maven-plugin/usage.html

这并不完美,但应该管用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8087794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档