【问题标题】:netbeans tomcat clear log filesnetbeans tomcat 清除日志文件
【发布时间】:2013-02-16 16:49:58
【问题描述】:

我一直在开发一个应用程序,但不小心创建了一个无限循环。大量输出进入 tomcat 服务器日志文件,每次我从 NetBeans 启动 tomcat 时,IDE 都会将所有这些日志加载到 GUI 中。它使我的计算机在没有运行内存的情况下窒息。遗憾的是,IDE 没有提供任何“清除日志”按钮。

我一直在尝试查找 tomcat 日志文件,但失败了。我的tomcat安装在~/apache-tomcat-7.0.27logs子目录下的最新日志文件是catalina.2013-01-12.log。今天是 2013-02-16。而且我在/var/log 下没有找到tomcat ;)

我已尝试重新启动 NetBeans,但它并没有改变任何东西。 IDE 仍在加载大量日志 - 所以文件必须在某个地方。

如果有任何关于在哪里搜索这些文件的提示,我将不胜感激。

【问题讨论】:

    标签: tomcat netbeans logfiles


    【解决方案1】:

    不知何故,我设法找到了正确的目录:~/.netbeans/7.2.1/apache-tomcat-7.0.27.0_base/logs。它拥有 1.7 GB :)

    还是不知道:

    • 为什么没有 /var/log/tomcat(可能是因为 tomcat 安装在 NB 中,而不是作为独立包)
    • 为什么要放入 ~/.netbeans 目录

    【讨论】:

      【解决方案2】:

      对于 Windows 7 上的我来说,日志位于:

      C:\Users\<user>\AppData\Roaming\NetBeans\7.2.1\apache-tomcat-7.0.27.0_base
      

      【讨论】:

        【解决方案3】:

        tomcat 日志文件取决于您的配置,要查看它们的确切位置,请在 NetBeans 中转到“工具”菜单并单击“服务器”。选择您正在使用的 Tomcat 版本,然后在“连接”选项卡中查看“Catalina Base”字段。那就是你需要的文件路径,进入这个文件夹,在我的例子中是“C:\Users\Tiago Peres\AppData\Roaming\NetBeans\7.3\apache-tomcat-7.0.34.0_base”,进入文件夹“logs”,然后删除一切。

        【讨论】:

          【解决方案4】:

          您总是可以创建一个脚本来在启动时删除日志文件。我想自己做这件事,发现了一篇很棒的文章,里面有关于如何做这个的说明:http://blog.sixthpoint.com/clearing-tomcat-logs-on-startup/

          编辑:本文使用 Linux .sh 文件,但您可以使用此方法轻松创建 Windows .bat 文件。脚本必须稍作修改,用del 替换rm

          【讨论】:

          • 请注意,这不是一件容易的事,因为根据我的经验,在提到的教程中使用 startup.bat 会破坏 Netbeans 引导 Tomcat 并部署调试应用程序的方式(在启动时修改了一些引号后) .bat 以超越一些神秘的消息,例如无法识别 127.0.0.1) - - - 另一个想法是修改 catalina.bat 本身(我认为它在所有情况下都会被调用,即使您选择不使用 startup.bat)来清理到 %CATALINA_HOME%\logs 目录(我希望那里的文件还没有被锁定)。
          【解决方案5】:

          如果您像我一样,厌倦了 Netbeans 以某种方式显示上一个调试会话的剩余部分,以及旧的堆栈跟踪等 - 另一个想法是修改 %CATALINA_HOME%\conf\logging.properties 以保留它至少。但不幸的是,JULI AsyncFileAppender 没有公开控制新会话如何处理现有文件的属性(例如 LOG4J 附加程序的 .append=false 选项)。

          所以我最终修改了 catalina.bat,风险自负,并且有危险,几周后我会忘记我这样做了,并且会怀疑并责怪我周围的世界,为什么我的日志目录突然都被清理干净了是时候启动Tomcat了。

          %CATALINA_HOME%\bin\catalina.bat:

          ...
          
          REM these are the original lines that existed in catalina.bat before
          rem Copy CATALINA_BASE from CATALINA_HOME if not defined
          if not "%CATALINA_BASE%" == "" goto gotBase
          set "CATALINA_BASE=%CATALINA_HOME%"
          :gotBase
          
          REM these are the lines that I am adding
          rem cleanup logs directory
          del /q/s %CATALINA_HOME%\logs\*.*
          
          ...
          

          【讨论】:

            猜你喜欢
            • 2016-03-22
            • 1970-01-01
            • 2010-11-08
            • 1970-01-01
            • 1970-01-01
            • 2013-09-15
            • 2016-11-24
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多