2
我有一個我們很快部署到客戶的cmd行工具。我在我正在使用的框架的cmd窗口中出現一條令人討厭的StdErr消息,並且我正努力將該消息重定向到Log4J的日誌文件。Log4J:將Stderr消息重定向到主日誌文件
這裏是我的log4j.xml文件:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration debug="false" xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="file" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false" />
<param name="maxFileSize" value="500MB" />
<param name="maxBackupIndex" value="5" />
<param name="file" value="test.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="file" />
</root>
</log4j:configuration>
我身邊有一派,我不能找到一個類似的案例給我的人。
我曾嘗試使用以下行重定向,但我寧願log4j的重定向它所以一切都是在同一個文件
File file = new File("error.log");
FileOutputStream fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
System.setErr(ps);
我不能它與JBoss或Tomcat設置重定向,因爲我不使用一個容器。它是直接在CMD線上的JAR。
注意:我希望STDOUT仍然轉到CMD窗口,因爲這是用戶的菜單系統。