【问题标题】:Where is the "catalina.out" on Windows?Windows 上的“catalina.out”在哪里?
【发布时间】:2012-01-04 14:02:10
【问题描述】:

我在 linux 机器上有一个 tomcat,我可以可视化“catalina.out”文件。

我想将我的开发环境(Eclipse IDE、JDK 6、Tomcat 6 等)从 linux 迁移到 windows。

一切正常,但我在 Windows Tomcat 上找不到“catalina.out”!

我阅读了this post,但该解决方案不适合 eclipse IDE(因为我正在从 eclipse 启动 tomcat)。

如何在 windows 中生成“catalina.out”文件?

谢谢

【问题讨论】:

    标签: java tomcat logging


    【解决方案1】:

    我可以通过检查找到我的 catalina.out 日志位置:Tomcat\conf\logging.properties

    请参阅以下几行:

    1catalina.org.apache.juli.AsyncFileHandler.level = FINE
    1catalina.org.apache.juli.AsyncFileHandler.directory = c:/logs
    1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
    
    2localhost.org.apache.juli.AsyncFileHandler.level = FINE
    2localhost.org.apache.juli.AsyncFileHandler.directory = c:/logs
    2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
    
    3manager.org.apache.juli.AsyncFileHandler.level = FINE
    3manager.org.apache.juli.AsyncFileHandler.directory = c:/logs
    3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
    
    4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
    4host-manager.org.apache.juli.AsyncFileHandler.directory = c:/logs
    4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
    

    【讨论】:

      【解决方案2】:

      不会为 windows 生成 Catalina.out,但您可以通过编辑 catalina.bat 或 startup.bat 将命令行 tomcat 输出发送到文件。在startup.bat:

      替换

      call "%EXECUTABLE%" start %CMD_LINE_ARGS%
      

      call "%EXECUTABLE%" run >..\logs\stdout.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\stdout.log 2>&1
      

      【讨论】:

        【解决方案3】:

        catalina.out 和其他 CATALINA_HOME/logs/*.log 文件是完全不同的日志。

        所有 CATALINA_HOME/logs/catalina*.log 文件都属于 Tomcat 服务器。如果你不使用 Tomcat 的 JULI,你不会发现它们真的很有用。

        catalina.out 只是来自运行服务器的重定向输出。如果您的应用程序正在登录控制台(例如,通过在 log4j 中使用 ConsoleAppender),您将在那里找到您的日志。

        问题是 Windows 启动脚本不包含对 catalina.out 的支持。你不会找到例如参数 CATALINA_OUT。因此无法使用它,您必须配置日志库以自行创建文件或修复 catalina.bat。我不是 Windows 用户,但您应该检查以下行:

        %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% ....
        

        并在末尾添加一些重定向

        %_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% .... >> %CATALINA_BASE%\logs\catalina.out
        

        【讨论】:

          【解决方案4】:

          在名为'Servers' 的视图中,您应该找到您的tomcat 实例。

          如果您在此视图中双击服务器,则会打开一个对话框,您可以在其中配置服务器设置。 catalina.out 的位置取决于'Server Locations' 的设置。

          如果您选择选项Use Tomcat installation 并将路径设置为TOMCAT_HOME(tomcat 的安装文件夹),eclipse 将控制此实例,您将在明确定义的位置找到所有内容。

          如果你做一些不同的事情,你需要在运行时找出${catalina.home} 的值。我记得其他选项存在问题,因为该应用程序将部署在您的工作区中 .metadata\.plugins\org.eclipse.wst.server.core 下,并且重新部署似乎不可靠。

          在服务器设置对话框中有一个链接“打开启动配置”,它显示了该服务器的“编辑配置”对话框。在选项卡 Arguments 中,您将在 vm-argsuments -Dcatalina.base="C:\dev\apache-tomcat-6.0.32" -Dcatalina.home="C:\dev\apache-tomcat-6.0.32" 下找到

          【讨论】:

          • 感谢您的回答。我总是检查“使用 Tomcat 安装”。当我检查 tomcat 日志文件夹时,我发现的唯一文件是:log4j.log 和其他个性化的日志文件。唯一缺少的文件(与 linux 开发环境相比)是“catalina.out”。
          • @Pen 我更新了我的答案,启动tomcat后你的控制台窗口有输出吗?
          • 是的,我得到了一些关于 tomcat 启动堆栈跟踪的一般信息。
          【解决方案5】:

          你检查过localhost.[date].log吗?

          【讨论】:

          • 感谢您的回答。我也没有那个文件。
          【解决方案6】:

          在“Tomcat文件夹\logs”中,名称不同:catalina-2011-11-23.log,其中2011-11-23代表美国格式的日期。

          【讨论】:

          • 我在“logs”文件夹中没有请求“catalina”的文件。我应该在某处启用它吗?谢谢。
          猜你喜欢
          • 1970-01-01
          • 2012-11-24
          • 2010-10-03
          • 1970-01-01
          • 2012-09-08
          • 2017-08-03
          • 1970-01-01
          • 2013-07-04
          • 1970-01-01
          相关资源
          最近更新 更多