這是一個獨立的java應用程序。爲什麼log4j登錄到控制檯?
我正在使用下面的配置文件,有兩個問題。
1)我收到日誌到標準輸出,我不知道爲什麼。
2)我在我的錯誤日誌中獲得所有的日誌消息,即使我曾嘗試直接唯一的錯誤和更高的錯誤日誌。
我使用BasicConfigurator沒有指定到的log4j.xml文件的顯式路徑。 xml文件與我的類位於同一個jar文件中。除了這些問題之外,它正在創建並寫入適當的日誌,因此正在應用配置。
3)另外,我已經有罐子之外的log4j.xml文件,這樣我就可以在運行時改變它沒有運氣。我怎麼做?
<!--appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<param name="Threshold" value="DEBUG"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p [%F:%L] - %m%n"/>
</layout>
</appender-->
<!-- working dir is $CATALINA_TMPDIR. send logs to log dir. -->
<appender name="ROLL" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/var/log/company/application.log"/>
<param name="MaxFileSize" value="5MB"/>
<param name="MaxBackupIndex" value="9"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>
<appender name="ERRORLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/var/log/rocketvox/company/error.log"/>
<param name="MaxFileSize" value="5MB"/>
<param name="MaxBackupIndex" value="9"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %x - %m%n"/>
</layout>
</appender>
<category name="com.company">
<priority value="ALL"/>
<appender-ref ref="ROLL"/>
</category>
<category name="com.mattx">
<priority value="ALL"/>
<appender-ref ref="ROLL"/>
</category>
<root>
<priority value="error"/>
<appender-ref ref="ERRORLOG"/>
</root>
['BasicConfigurator'](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/BasicConfigurator.html#BasicConfigurator%28%29)使用['ConsoleAppender'](HTTP ://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/ConsoleAppender.html)將日誌事件追加到'System.out'中 – mre