代码之家  ›  专栏  ›  技术社区  ›  Tlink

Eclipse中的Tomcat控制台输出:我的系统在哪里。出来print()输出,如何调试?

  •  0
  • Tlink  · 技术社区  · 7 年前

    在Eclipse的控制台中,我只能看到tomcat服务器的启动日志,但没有其他内容,没有看到系统。出来显示应用程序中的print(),这使调试变得困难。

    我可以在Eclipse中更改哪些设置来获取我的系统。出来打印()输出放回控制台?

    3 回复  |  直到 7 年前
        1
  •  2
  •   Akash Narayan    7 年前

    这不是正确的做法,但你可以切换到系统。犯错误println()作为开关,而不是在控制台中捕获值。正确的方法是使用注释中指出的记录器(如log4j)。

        2
  •  1
  •   sagneta    7 年前

    好的,最好的方法总是使用记录器,log4j是我首选的工具。

    首先通过创建log4j来配置记录器。属性文件。下面是一个与您的问题相匹配的好例子:

    # Set root category priority to INFO and its only appender to CONSOLE.
    log4j.rootCategory=INFO, CONSOLE, LOGFILE
    
    # CONSOLE is set to be a ConsoleAppender using a PatternLayout.
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
    log4j.appender.CONSOLE.Threshold=INFO
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
    log4j.appender.CONSOLE.layout.ConversionPattern=- %m%n
    

    此配置将向控制台发送信息和以上消息。现在你想要什么样的log4j。要初始化的属性以及引用log4j jar库的方式取决于应用程序的部署方式。

    这里有一个很好的stackoverflow配置参考: Where should I put the log4j.properties file?

    关于log4j用法的一个很好的参考是: http://www.codejava.net/coding/how-to-configure-log4j-as-logging-mechanism-in-java

    注意:您可以通过多种方式进行配置。这是你的决定。现在,在类文件中初始化记录器:

    public class MyClass {
      private static final Logger log = Logger.getLogger(MyClass.class);
    
      ....
    
      log.info("A log message to the console!!!!");
    

    真的是这样。现在你完全控制了。通常,最好使用记录器来控制输出。系统XXX。println无法通过中央配置进行控制,稍后您将忘记删除它们。此外,您还可以添加额外的附加器来持久化输出,如下所示:

    # LOGFILE is set to be a File appender using a PatternLayout.
    log4j.appender.LOGFILE=org.apache.log4j.RollingFileAppender
    log4j.appender.LOGFILE.Threshold=INFO
    log4j.appender.LOGFILE.MaxFileSize=5MB
    log4j.appender.LOGFILE.File=mylogfile.log
    log4j.appender.LOGFILE.Append=true
    log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.LOGFILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p [%c]: %m%n
    

    这将生成一个mylog文件。日志,并将文件保持在5MB最大值,并将保留几个(忘记默认值)版本,并附加时间戳。

    我希望这有帮助。log4j一直存在,非常优秀。网上的教程多得让人目瞪口呆。

        3
  •  0
  •   vitaliiH    7 年前

    您也可以尝试清理项目(project->clean),这对我和系统都有帮助。out再次开始在控制台中显示。