对于这个非常基本的问题感到抱歉,但我花了很多时间和研究,并且不能让它工作: - / 我想要的:在INFO级别显示所有记录,但在DEBUG级别显示我的应用程序。到目前为止,我的设置和理解是:
在我的WildFly中,我使用slf4j进行回溯。我没有在所有b / c中配置logback,这是在WildFly配置中完成的。 这是我的pom:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.13</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.0.13</version>
</dependency>
这是我的记录器配置:
<console-handler name="CONSOLE">
<level name="DEBUG"/>
<formatter>
<named-formatter name="COLOR-PATTERN"/>
</formatter>
</console-handler>
<periodic-rotating-file-handler name="FILE" autoflush="true">
<formatter>
<named-formatter name="PATTERN"/>
</formatter>
<file relative-to="jboss.server.log.dir" path="server.log"/>
<suffix value=".yyyy-MM-dd"/>
<append value="true"/>
</periodic-rotating-file-handler>
<logger category="com.arjuna">
<level name="WARN"/>
</logger>
<logger category="org.apache.tomcat.util.modeler">
<level name="WARN"/>
</logger>
<logger category="org.jboss.as.config">
<level name="DEBUG"/>
</logger>
<logger category="sun.rmi">
<level name="WARN"/>
</logger>
<logger category="jacorb">
<level name="WARN"/>
</logger>
<logger category="org.hibernate">
<level name="INFO"/>
</logger>
<logger category="javax">
<level name="INFO"/>
</logger>
<logger category="com.sample.application" use-parent-handlers="false">
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
</handlers>
</logger>
<root-logger>
<level name="DEBUG"/>
<handlers>
<handler name="CONSOLE"/>
<handler name="FILE"/>
</handlers>
</root-logger>
因此处理程序和根记录器必须保持调试状态,否则将不会出现调试级别日志。但其他一切,例如[org.jboss.as.controller.management- operation]也在调试级别上出现,我无法手动将所有内容设置为INFO级别。我哪里错了?提前谢谢!
答案 0 :(得分:8)
将console-handler
级别保留在DEBUG
上,将root-logger
级别更改回INFO
,然后只需将应用程序记录器更改为
<logger category="com.sample.application">
<level name="DEBUG"/>
</logger>