我有两个appender,一个用于文件,另一个用于控制台。 我希望Eclipse控制台同时显示文件和控制台日志,但在同一时间文件中只显示自己的日志。 我该怎么做?
这是conf。
<appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Append" value="true"/>
<param name="Threshold" value="INFO"/>
<param name="File" value="${jboss.server.log.dir}/file.log"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p %m%n"/>
</layout>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="Target" value="System.out"/>
<param name="Threshold" value="INFO"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n"/>
</layout>
此外,文件日志仅显示来自特定包的日志。
<category name="com.project.example" additivity="false">
<appender-ref ref="FILE"/>
<priority value="INFO"/>
</category>
和root:
<root>
<priority value="${jboss.server.log.threshold}"/>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
</root>
答案 0 :(得分:1)
您必须在appender
标记中配置logger
,如下所示。
<logger name="com.project.example">
<appender-ref ref="FILE" />
<appender-ref ref="CONSOLE" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="CONSOLE" />
</root>