我使用最新的jetty插件運行一個簡單的mvn jetty:run
的java webapp,但我似乎無法找到一種方法來告訴jetty將DEBUG消息輸出到控制檯(for嵌入式碼頭實例,而不是插件本身)。目前它只輸出WARN和INFO消息。我試過設置-DDEBUG
和-DVERBOSE
,但他們什麼也沒做。我已經看過documentation,但似乎沒有涵蓋這一點。在maven jetty 7插件中啓用調試日誌記錄
回答
更新:好吧,我終於得到了事情的工作,這就是我所做的。
我的理解是,由於Jetty 7使用JSP 2.1引擎,Jetty 7對特定的日誌框架沒有任何依賴關係,即使對於JSP引擎也是如此。所以你可以使用任何日誌框架。這裏我將使用logback。
首先添加logback-classic
如插件依賴性和設置logback.configurationFile
系統屬性點上的配置文件:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.0.0.pre5</version>
<configuration>
<systemProperties>
<systemProperty>
<name>logback.configurationFile</name>
<value>./src/etc/logback.xml</value>
</systemProperty>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.15</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</build>
...
</project>
然後添加一個src/etc/logback.xml
配置文件。以下最低配置:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</layout>
</appender>
<root level="debug">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
採用這種設置,碼頭將輸出調試消息:
$ mvn jetty:run ... 00:31:33.089 [main] DEBUG org.mortbay.log - starting [email protected] 00:31:33.089 [main] DEBUG org.mortbay.log - started [email protected] 00:31:33.105 [main] DEBUG org.mortbay.log - starting [email protected] 00:31:33.106 [main] DEBUG org.mortbay.log - started [email protected] 00:31:33.106 [main] DEBUG org.mortbay.log - starting [email protected] 00:31:33.106 [main] DEBUG org.mortbay.log - started [email protected] 00:31:33.106 [main] DEBUG org.mortbay.log - starting [email protected] 00:31:33.174 [main] DEBUG org.mortbay.log - started [email protected] 00:31:33.216 [main] INFO org.mortbay.log - Started [email protected]:8080 00:31:33.217 [main] DEBUG org.mortbay.log - started [email protected]:8080 00:31:33.217 [main] DEBUG org.mortbay.log - started [email protected] [INFO] Started Jetty Server
資源:
- 的Maven Jetty Plugin頁
- 的[m2] jetty6 plugin & log4j消息/線程
- 的Chapter 3: Logback configuration從的logback文檔
爲了延長帕斯卡的答案,這是它如何與log4j的工作原理:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.0.0.pre5</version>
<configuration>
<systemProperties>
<systemProperty>
<name>log4j.configurationFile</name>
<value>file:${project.basedir}/src/test/resources/log4j.properties</value>
</systemProperty>
</systemProperties>
</configuration>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.1</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</build>
...
</project>
這是您的${project.basedir}/src/test/resources/log4j.properties
:
log4j.rootLogger=INFO, CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern = [%-5p] %c: %m\n
log4j.logger.org.eclipse.jetty.util.log=INFO
其他資源:
系統屬性log4j.configurationFile不適用於我,但是log4j.configuration。 – 2012-10-08 15:57:50
對於log4j的1.2.16 Maven的3我不得不去爲'
你也可以做到這一點 「MVN -X碼頭:運行」
我覺得這個解決方案更加方便
<resources>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<targetPath>${project.build.outputDirectory}</targetPath>
<includes>
<include>log4j.properties</include>
</includes>
</resource>
</resources>
也不要忘記粘貼
<overwrite>true</overwrite>
for resources plug在
爲了擴大帕斯卡和yegor256的答案,這是它如何與SLF4J Simple logger
工作(這是最簡單的選擇,因爲你只需要一個依賴添加到slf4j-simple
):
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.0.0.pre5</version>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.5</version>
</dependency>
</dependencies>
</plugin>
...
</plugins>
</build>
...
</project>
它可以配置直接來自Maven pom的SLF4J Logger。默認在http://www.slf4j.org/apidocs/org/slf4j/impl/SimpleLogger.html描述)
例如,登錄到一個文件/tmp/output.log
具有較高的調試級別(TRACE
):
<configuration>
<systemProperties>
<systemProperty>
<name>org.slf4j.simpleLogger.logFile</name>
<value>/tmp/output.log</value>
</systemProperty>
<systemProperty>
<name>org.slf4j.simpleLogger.defaultLogLevel</name>
<value>trace</value>
</systemProperty>
</systemProperties>
</configuration>
- 1. 爲Jetty的maven插件配置日誌記錄?
- 2. 如何在PostgreSQL JDBC/HikariCP中啓用調試日誌記錄?
- 3. 禁用從maven運行的jetty日誌記錄
- 4. 如何啓用/配置Hudson插件日誌記錄以進行調試
- 5. log4net在運行時啓用調試日誌記錄
- 6. Hadoop啓用日誌記錄
- 7. 啓用Activiti日誌記錄
- 8. VBA啓用日誌記錄
- 9. DWR在grails中啓用日誌記錄?
- 10. 在Ubuntu中啓用CodeIgniter日誌記錄
- 11. 如何使用Libwebsockets啓用調試日誌記錄?
- 12. 禁用Hiera調試日誌記錄
- 13. JBoss AS 7:日誌記錄
- 14. 如何在碼頭中啓用日誌記錄?
- 15. EasyMock日誌記錄調用
- 16. 日誌記錄subprocess.Popen調用
- 17. Jetty 6總是生成調試日誌?
- 18. C++調試Windows上的日誌記錄
- 19. Theos/Logos調試日誌記錄
- 20. Django調試工具欄日誌記錄
- 21. Windows Azure日誌記錄和調試
- 22. Python日誌記錄和Pydev調試器?
- 23. 啓用第三方組件的日誌記錄
- 24. Maven Jetty插件中的Jetty JNDI錯誤
- 25. 如何在Wildfly中爲LDAP擴展模塊啓用調試日誌記錄
- 26. 關閉log4j2啓動調試日誌記錄
- 27. 如何在Jetty Maven插件中啓用CachingWebAppClassLoader?
- 28. 在Thunderbird的用戶chrome.js中調試日誌記錄
- 29. 如何在Django調試工具欄中使用日誌記錄?
- 30. 扭曲的插件日誌記錄
謝謝,帕斯卡。我只看到了答案的第一個版本,所以花了我一段時間才接受它。我不記得我想要做什麼,但如果它再次出現,我一定會回顧一下。 – wds 2010-11-10 14:33:55