我正在开发一个Spring-MVC应用程序,我在其中使用Jetty作为我们的应用程序服务器。我想调试日志特定的java类,但即使启用log4j或slf4j,并添加文件它也无法正常工作。
最后,我创建了一个war文件,添加到使用此命令java -jar start.jar --add-to-start=logging-log4j
启动log4j,它在resources
目录中创建了一个log4j.xml文件。在那个log4j.xml中,我添加了我想要调试的类,但是没有添加[DEBUG]
条目。
启用模块:
log4j2-slf4j.mod
slf4j-log4j2.mod
slf4j-api.mod
logging-slf4j.mod
我还尝试了他们的组合和不同的记录作为文档建议。
log4j.xml存在于IDE和Jetty的资源目录中。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false">
<!-- console appender -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />
</layout>
<filter class="org.apache.log4j.varia.LevelMatchFilter">
<param name="LevelToMatch" value="INFO" />
<param name="AcceptOnMatch" value="true" />
</filter>
<filter class="org.apache.log4j.varia.DenyAllFilter"/>
</appender>
<logger name="com.zaxxer.hikari" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
</logger>
<root>
<priority value="ERROR" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
我做错了什么?
答案 0 :(得分:0)
似乎问题是你在类路径中只有桥而不是log4j。
按要求提供简单的logback.xml配置文件:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<logger name="test" level="DEBUG" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>