【问题标题】:log4j - show logs both in file and consolelog4j - 在文件和控制台中显示日志
【发布时间】:2015-08-14 18:05:13
【问题描述】:

我有两个附加程序,一个用于文件,另一个用于控制台。 我希望 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>
  <priority value="${jboss.server.log.threshold}"/>
  <appender-ref ref="CONSOLE"/>
  <appender-ref ref="FILE"/>
</root>

【问题讨论】:

    标签: java logging log4j appender


    【解决方案1】:

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

    <logger name="com.project.example">
        <appender-ref ref="FILE" />
        <appender-ref ref="CONSOLE" />
    </logger>
    <root>
        <level value="debug" />
        <appender-ref ref="CONSOLE" />
    </root> 
    

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多