Java 能否将stdout、stderr重定向到log4j2v2.3中的fileappender?
这是我的log4j2.xml配置文件:Java 能否将stdout、stderr重定向到log4j2v2.3中的fileappender?,java,logging,stdout,log4j2,jboss6.x,Java,Logging,Stdout,Log4j2,Jboss6.x,这是我的log4j2.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT" ignoreExceptions="false"> <PatternLayout pattern="%d{HH:mm:ss.SSS}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT" ignoreExceptions="false">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="Log4JFile" fileName="/log/Log4JFile.log">
<PatternLayout>
<Pattern>%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</Pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Console"/>
<AppenderRef ref="Log4JFile"/>
</Root>
</Loggers>
</Configuration>
%d{HH:mm:ss.SSS}[%t]-5级别%logger{36}-%msg%n
我正在使用Jboss,如果没有配置文件,
log4j
将所有内容记录到server.log
。我需要将log4j
plusstdout
和stderr
的所有级别记录到一个不是默认文件的单独文件中。如何在不重写Java中的print方法的情况下实现这一点?您不能从Log4j ConsoleAppender重定向到Log4j FileAppender
您可以在启动应用程序的脚本/命令中,将该命令的输出重定向到文件。此操作的语法取决于操作系统,但通常类似于
command>file
。多个>
字符可以附加到现有文件,而不是覆盖它。(也取决于操作系统。)我的同事说我们过去经常这样做,但它会停止将输出记录到控制台。你知道如何解决这个问题吗?如果你想捕获控制台输出并将其保存在一个文件中,同时实时监控这个输出,你可以跟踪日志文件。我不知道怎么做。这有什么复杂的地方吗?如果没有,你能给我一个简单的例子吗?