Java log4j-将System.out和System.err同时记录到控制台

Java log4j-将System.out和System.err同时记录到控制台,java,log4j,out,Java,Log4j,Out,我们有一个java webapp,它可以调度和运行多种语言的其他工具/java、perl、bash、python等。/并使用StreamGobbler“吃掉”它们的输出/错误流以进行故障排除 是否可以在核心java应用程序/中使用log4j/来记录System.err和System.out,以便以上述方式捕获它们 这是否会导致out和err消息交错/出现无序/? 多谢各位 是。log4j可用于将System.err和System.out登录到单独的文件/流中 对。消息可以交错。是的,这是可能的

我们有一个java webapp,它可以调度和运行多种语言的其他工具/java、perl、bash、python等。/并使用StreamGobbler“吃掉”它们的输出/错误流以进行故障排除

是否可以在核心java应用程序/中使用log4j/来记录System.err和System.out,以便以上述方式捕获它们

这是否会导致out和err消息交错/出现无序/?

多谢各位

是。log4j可用于将System.err和System.out登录到单独的文件/流中


对。消息可以交错。

是的,这是可能的。查看以下文档:


是的,我知道我应该使用或子类ConsoleAppender,但我需要2个-一个用于输出,一个用于错误打印到同一流。我很确定它们最多只能交错。除非有多个进程/线程记录到同一个日志,否则日志语句不应该交错。如果可能的话,您可以在以后根据日期对日志进行排序。@aglassman我刚刚试过,out和err都会记录到控制台/以黑色和红色/但有些消息不符合顺序。有没有办法避免这种情况?