[英]How to configure Logging for an Embedded Tomcat from Maven plugin 'tomcat7-maven-plugin'
我正在使用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但是仍然不知道为什么它不是工作。
此外,我已经检查了这篇文章: 从Maven插件配置嵌入式Tomcat的日志记录,而是使用org.slf4j.LoggerFactory。 在tomcat_server.log文件中找不到任何日志。
当我在pom.xml中切换回使用jboss-as-maven-plugin并运行mvn jboss-as:run
,可以在目标文件夹内成功生成server.log。
有什么建议吗?
文档说,tomcatLoggingFile引用“Tomcat日志记录配置的路径”,而不是日志文件本身。 此外,您应确保日志库位于类路径中。 请参见http://tomcat.apache.org/tomcat-7.0-doc/logging.html
嵌入式Tomcat Maven的日志记录配置目前因bug而中断
https://issues.apache.org/jira/browse/MTOMCAT-127
解决方法是简单地重定向标准输出,如:
mvn tomcat7:run 2>&1 | tee catalina.out
使用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>
我刚刚在web.xml中包含的xml配置中使用了log4j的文件appender
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.