Logging 如何在IntelliJ IDEA社区版中查看我的服务器日志

Logging 如何在IntelliJ IDEA社区版中查看我的服务器日志,logging,intellij-idea,Logging,Intellij Idea,我刚买了一台新电脑,我正在试用IntelliJ IDEA社区版,因为我不是Eclipse的忠实粉丝。我想现在是尝试另一个IDE的最佳时机 不过,我似乎不知道如何在IDE中查看我的应用程序服务器日志/异常。我发现最接近的是通过以下方式启用两个复选框(在新安装时未选中): 运行-->编辑配置-->应用程序-->日志(选项卡) 当标准输出更改时显示控制台 标准错误更改时显示控制台 我只是找不到任何可以打开日志的窗口/窗格/选项卡。我已停止/重新启动服务器,退出/重新启动IntelliJ 服务器日志在社

我刚买了一台新电脑,我正在试用IntelliJ IDEA社区版,因为我不是Eclipse的忠实粉丝。我想现在是尝试另一个IDE的最佳时机

不过,我似乎不知道如何在IDE中查看我的应用程序服务器日志/异常。我发现最接近的是通过以下方式启用两个复选框(在新安装时未选中):

运行-->编辑配置-->应用程序-->日志(选项卡)

当标准输出更改时显示控制台

标准错误更改时显示控制台

我只是找不到任何可以打开日志的窗口/窗格/选项卡。我已停止/重新启动服务器,退出/重新启动IntelliJ


服务器日志在社区版IDE中不可用吗?

很可能您的服务器正在写入自己的日志文件,而不是System.out或System.err。它们的位置将取决于您的服务器。例如,Tomcat的日志将位于
/logs
中。具有服务器运行配置的Ultimate版本将自动打开这些日志(对于大多数服务器类型)。对于Communiality Edition,您需要找到这些日志的位置,然后配置IDEA,以便在运行应用程序时自动显示它们

在“日志”选项卡上,通过单击右侧的添加按钮添加“要在控制台中显示的日志文件”。然后定义日志文件的位置。您可以使用来匹配该文件。这对于包含日期的日志文件非常有用。如果不选中“按模式显示所有可覆盖的文件”,IntelliJ IDEA将只显示最新/最新的文件。最后,在创建日志定义后,如果您只希望在启动应用程序/服务器时显示新消息(即仅显示当前运行的消息,而不显示以前运行的消息),则可以选中“跳过内容”按钮

下面是一个例子:

上面的例子是在最终版本中完成的。但是社区版有相同的日志选项卡

更新

为了响应您的(第一个)注释,当您运行应用程序时,日志将作为选项卡显示在“运行(或调试)”工具窗口中。选项卡名称将与您在上述配置中输入的别名匹配。例如:

注意:文本突出显示和输出折叠是通过

我将提到一些具有此功能的“陷阱”:

  • 显示日志选项卡需要几秒钟的时间。因此,对于一个运行速度非常快的应用程序(比如一个简单的测试),该选项卡最终可能不会显示出来
  • 使用“跳过内容”功能时,有时第一次运行应用程序时日志选项卡为空。对于不使用文件模式的日志文件来说,这似乎特别有问题。不幸的是,我无法确定一个一致的用例来打开一个bug报告。关闭“跳过内容”可以解决此问题 我希望这能有所帮助。

    我不知道“社区版”,但我的是IntelliJ Idea 15.0.3&我发现这本书对我有用。如果您的版本不同,请使用aplogies

    转到查看工具窗口应用程序服务器

    现在您可以在IntelliJIdea的左下方看到服务器小部件 现在,无论何时调试/运行项目,服务器的日志都将显示在这里的服务器的右侧选项卡中。(在我的例子中是Tomcat Localhost日志和Tomcat Catalina日志)如下面附带的屏幕截图所示。请参阅


    在intellij中,转到运行>编辑配置>[您的tomcat实例]>选项卡启动/连接,然后单击“运行”设置。在对话框的下半部分,选中“传递环境变量”,并添加指向tomcat实例的变量CATALINA_BASE,示例为/Users/ramanna/apps/apache-tomcat-9.0.13


    现在,在同一个对话框中选择“Logs”选项卡,添加(使用右边的绿色+符号)日志文件,日志应该在那里(在我的例子中是/Users/ramanna/apps/apache-tomcat-9.0.13/Logs/catalina.out)

    我应该提到我曾经尝试过,我添加了SystemOut.log,因为应用服务器就是在那里写入日志的。我正在使用websphere,因此我的日志深入到c:\ibm路径中。也许我已经正确地配置了它(尽管我不能肯定),我只是无法在IntelliJ中获得任何显示日志的窗格/窗口。例如,我可以打开/关闭终端窗格/窗口,但我似乎不知道如何在IDE中查看日志。@洋红胎盘-我更新了答案,试图回答您评论中的问题/顾虑。仍然无法理解。我似乎没有像你截图中那样的控制台选项,或者更确切地说,我不知道如何看到它。我确实通过maven clean/包获得了一个run选项卡,它可以控制构建,但是我似乎无法在IDE中显示任何服务器日志。谢谢你的帮助,但是我放弃了,我已经浪费了足够多的时间来尝试使用基本的服务器日志功能。这是一个很有帮助的方法answer@KalpeshSoni-您是指“按模式显示所有可覆盖的文件”复选框?如果您有一个模式,比如说定义了
    foo-*.log
    ,并且您有两个日志,例如
    foo access.log
    foo errors.log
    ,当选中时,这两个日志都会显示,因为它们都被模式覆盖。在这种情况下很有用。如果未选中,则仅打开最新版本。当您的日志带有日期戳时非常有用,例如,
    foo-2018-01-01.log
    foo-2018-01-02.log
    ,并且您希望看到最新的日志(其名称每天都在变化,因此需要使用通配符),但您不希望它打开几十个文件。它只是在付费版本中。我没有看到应用服务器我有IntelliJ的付费版本,但也没有看到应用服务器。它们必须运行才能在其中列出。