log4j -在文件和控制台中显示日志

dzjeubhm  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(235)

我有两个appenders,一个用于文件,另一个用于控制台。我希望Eclipse控制台同时显示文件和控制台日志,但同时文件只显示自己的日志。我如何做到这一点?
这里是conf.

  1. <appender name="FILE" class="org.apache.log4j.DailyRollingFileAppender">
  2. <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  3. <param name="Append" value="true"/>
  4. <param name="Threshold" value="INFO"/>
  5. <param name="File" value="${jboss.server.log.dir}/file.log"/>
  6. <layout class="org.apache.log4j.PatternLayout">
  7. <param name="ConversionPattern" value="%d %-5p %m%n"/>
  8. </layout>

字符串

  1. <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
  2. <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  3. <param name="Target" value="System.out"/>
  4. <param name="Threshold" value="INFO"/>
  5. <layout class="org.apache.log4j.PatternLayout">
  6. <param name="ConversionPattern" value="%d %-5p [%c{1}] %m%n"/>
  7. </layout>


此外,文件日志只显示来自特定包的日志。

  1. <category name="com.project.example" additivity="false">
  2. <appender-ref ref="FILE"/>
  3. <priority value="INFO"/>
  4. </category>


和根:

  1. <root>
  2. <priority value="${jboss.server.log.threshold}"/>
  3. <appender-ref ref="CONSOLE"/>
  4. <appender-ref ref="FILE"/>
  5. </root>

lymgl2op

lymgl2op1#

您必须在logger标记中配置appender,如下所示。

  1. <logger name="com.project.example">
  2. <appender-ref ref="FILE" />
  3. <appender-ref ref="CONSOLE" />
  4. </logger>
  5. <root>
  6. <level value="debug" />
  7. <appender-ref ref="CONSOLE" />
  8. </root>

字符串

相关问题