我正在使用Maven 3.0.4和tomcat7-maven-plugin嵌入式Tomcat服务器。我想通过编辑pom.xml来生成服务器日志。但是,我无法在配置部分中使用“tomcatLoggingFile”属性获取任何日志。以下是我的配置:
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<configuration>
<tomcatLoggingFile>tomcat_server.log</tomcatLoggingFile>
</configuration>
</plugin>
我查看了tomcat7-maven-plugin的官方文档:http://tomcat.apache.org/maven-plugin-2.1/tomcat7-maven-plugin/run-mojo.html 但仍然不知道为什么它不起作用。
另外,我查了这篇文章:Configuring Logging for an Embedded Tomcat from Maven plugin 并使用org.slf4j.LoggerFactory代替。在tomcat_server.log文件中找不到任何日志。
当我在pom.xml中切换回使用jboss-as-maven-plugin并运行mvn jboss-as:run
时,可以在目标文件夹中成功生成server.log。
有什么建议吗?
答案 0 :(得分:2)
文档说,tomcatLoggingFile引用“Tomcat日志记录配置的路径”,而不是日志文件本身。 此外,您应确保日志库位于类路径中。 见http://tomcat.apache.org/tomcat-7.0-doc/logging.html
答案 1 :(得分:2)
由于bug
,嵌入式Tomcat Maven的日志记录配置目前已被破坏https://issues.apache.org/jira/browse/MTOMCAT-127
解决方法是简单地重定向标准输出,如:
mvn tomcat7:run 2>&1 | tee catalina.out
答案 2 :(得分:0)
使用log4j或其他日志库,这里是一个棘手的部分....你应该在你的maven插件配置中添加额外的依赖项
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.1</version>
<configuration>
....
<extraDependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>1.7.2</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</extraDependencies>
</configuration>
</plugin>
答案 3 :(得分:0)
我刚刚在web.xml
中包含的xml配置中使用了log4j的文件appender