当前位置: 首页 > 知识库问答 >
问题:

系统出来print()不起作用,log4j仍能正常工作

萧波峻
2023-03-14

请大家对我的问题解释如下。

  1. 我的java web应用程序使用org.apache.log4j. Logger库。
  2. 我把这样的命令:log.info("这是log4j输出")
  3. 我又放了一个类似S的命令ystem.out.println("这是system out put")
  4. 好的,我通过tomcat服务器部署Web应用程序。

现在,我正在跟踪catalina的日志。出来我的问题是:

在应用程序运行期间 显示“这是log4j输出”,但未显示“这是系统输出”。

这是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)。

我不知道为什么。谁能解释一下这个问题吗?

谢谢!

共有1个答案

马淳
2023-03-14

系统。输出打印到“标准输出”控制台。它可以是你的文本控制台,但也可以是任何东西,因为它可以很容易地配置到其他地方。

另一方面,任何记录器库都可以配置为登录到您想要的任何位置。

长话短说:这很可能是由于环境中的某些特定配置设置。但是我们不知道你的设置,所以我们不能给出任何更具体的答案。

 类似资料:
  • 嗨,我想在日志模式中显示登录的用户ID、主机名、ip地址等。我也在使用log4j。我正在使用MDC。在我的主控制器中,我可以看到带有指定模式的日志,但在其他文件日志中,我无法看到模式,这是不是好像我在某个会话中设置了MDC,并在其他控制器中再次放置了上下文值?请建议。 log4j.properties 我还有其他不同的控制器。现在,主控制器中的logger语句在日志模式中显示上下文信息,但在其他控

  • 我正试图在按下某个按钮时弹出一个警报对话框。我首先使用了Android Developer的示例代码而不是'这不起作用,所以我根据在这个站点上发现的情况进行了更改,但是现在我的程序在按下按钮后被迫停止。 就你的知识而言,这是在第二个不同于主要的活动中完成的。不确定这是否重要.... ‘ 碰撞日志:“03-25 19:34:24.373:E/AndroidRuntime(18828):致命异常:ma

  • 2,错误{org.apache.directory.server.LDAP.ldapserver}-ERR_171无法将LDAP服务(10,389)绑定到服务注册表。java.net.BindException:已在使用的地址 请帮忙谢谢 --------提示------------------- JAVA_HOME环境变量设置为/opt/java CARBON_HOME环境变量设置为/mnt/1

  • 我正在尝试使用Micrometer从我的spring boot应用程序中公开度量。 以下配置由于某种原因不起作用: spring说: 但是对于完全相同的注释配置,它可以很好地工作: 日志说: 完整的示例如下:https://filebin.net/gjxnwwksaqs1x8zg

  • 问题内容: 我在一起有多个循环,而在最内部的循环中有一个睡眠。例如: 如果您运行该代码,则可能需要等待1秒钟然后再次休眠直到结束,才能获得价值。 但是结果是不同的,它等待10秒钟并打印整行,然后再次等待打印下一行。 我发现打印末尾的逗号导致了此问题。我该如何解决? 问题答案: 由于存在逗号,因此输出缓冲到a为止。 您应在每次打印或使用后冲洗并冲洗缓冲区。 定义您的打印方法: 在行的末尾打印一个

  • 我正在做一个类似生存的游戏,我有两种类型的碰撞,一种是玩家的敌人,另一种是敌人身上的子弹。我也有一个健康栏,由于某些原因,在picbox被移除后,健康仍然下降,就像敌人与玩家互动一样。 这是子弹碰撞代码的一个块(所有8个方向的所有代码都是相同的) 这是敌方与玩家碰撞的暗号