【发布时间】:2026-02-04 05:05:01
【问题描述】:
谁能解释我的问题如下。
- 我的 Java Web 应用程序使用 org.apache.log4j.Logger 库。
- 我输入了如下命令:log.info("this is log4j output")
- 我输入了另一个命令,例如 System.out.println("This is system out put")
- 好的,我通过tomcat服务器部署web应用。
现在,我正在跟踪 catalina.out 的日志。 我的问题:
在应用程序运行过程中,“this is log4j output”显示,但“This is system output”没有显示。
这是 log4j 配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration debug="true"
xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<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="console" />
</root>
</log4j:configuration>
我认为它们都会显示(log4j 输出和 system.out)。
我不知道为什么。谁能解释一下这个问题?
谢谢!
【问题讨论】:
-
System.out.print 转到您服务器的终端。检查(如果有的话),这是你永远不应该在远程部署的代码上使用 System.out.print 的原因之一
-
@Stultuske:是的,我没有在最新的代码版本中使用 System.out.println。这只是我想知道的问题。谢谢!