Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 能否将stdout、stderr重定向到log4j2v2.3中的fileappender?_Java_Logging_Stdout_Log4j2_Jboss6.x - Fatal编程技术网

Java 能否将stdout、stderr重定向到log4j2v2.3中的fileappender?

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}

这是我的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} [%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
plus
stdout
stderr
的所有级别记录到一个不是默认文件的单独文件中。如何在不重写Java中的print方法的情况下实现这一点?

您不能从Log4j ConsoleAppender重定向到Log4j FileAppender


您可以在启动应用程序的脚本/命令中,将该命令的输出重定向到文件。此操作的语法取决于操作系统,但通常类似于
command>file
。多个
>
字符可以附加到现有文件,而不是覆盖它。(也取决于操作系统。)

我的同事说我们过去经常这样做,但它会停止将输出记录到控制台。你知道如何解决这个问题吗?如果你想捕获控制台输出并将其保存在一个文件中,同时实时监控这个输出,你可以跟踪日志文件。我不知道怎么做。这有什么复杂的地方吗?如果没有,你能给我一个简单的例子吗?