Java 如何将日志从控制台移动到文件?

Java 如何将日志从控制台移动到文件?,java,xml,apache,log4j,appender,Java,Xml,Apache,Log4j,Appender,在我们的项目中,目前我们有一个主portal-log4j.xml,在我们的项目中,我们需要使用portal-log4j-ext.xml来覆盖它 在portal-log4j.xml中,默认情况下,所有日志都在控制台上完成 <root> <priority value="INFO" /> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> </roo

在我们的项目中,目前我们有一个主portal-log4j.xml,在我们的项目中,我们需要使用portal-log4j-ext.xml来覆盖它 在portal-log4j.xml中,默认情况下,所有日志都在控制台上完成

    <root>
    <priority value="INFO" />
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

在被重写的portal-log4j-ext.xml文件中,我们有以下代码:

<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
    <param name="maxFileSize" value="10000kb" />
    <param name="maxBackupIndex" value="20" />
    <param name="file" value="D:/myLogFile.log" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="&#37;d{ISO8601} &#37;-5p [&#37;C{1}] &#37;x: &#37;m&#37;n"/>
    </layout>
</appender>     

<logger name="com.company.layoutimporter">
    <level value="DEBUG" />
    <appender-ref ref="FILE" />
</logger>

如您所见,我可以写入文件,但它也可以在控制台中进行日志记录。 我们如何重写此默认行为,以便只将特定于包的消息记录到特定的日志文件(而不是控制台)


提前谢谢

我自己找到了解决办法。。只需将additivity=“false”
添加到记录器标记

这将基本上通过父标记再次跳过日志记录


更多信息:

嘿……我自己找到了解决方案。。必须在标记中添加additivity=“false”。这将基本上通过父标记再次跳过日志记录。更多信息:您可以随时添加此评论作为答案吗?