11.2. 查看日志文件

查看服务器和应用程序日志非常重要,以帮助诊断错误、性能问题和其他问题。有些用户可能更喜欢直接在服务器文件系统中查看日志。对于无法直接访问文件系统或更喜欢图形界面的用户,JBoss EAP 允许您从管理控制台查看日志。您还可以使用管理 CLI 查看日志。

若要从其中一个管理接口访问日志,它必须位于服务器的 jboss.server.log.dir 属性指定的目录中,并且定义为文件、定期轮转、大小轮转或定期轮转日志处理程序。RBAC 角色分配也会被遵守,因此登录管理控制台或 CLI 的用户只能查看被授权访问的日志。

从管理控制台查看日志

您可以直接从管理控制台查看日志。

  1. 选择 Runtime 选项卡,然后选择相应的服务器。
  2. 选择 Log Files,然后从列表中选择一个日志文件。
  3. 单击 View 查看 和搜索日志内容,或者从下拉菜单中选择 Download 以将日志文件下载到本地文件系统。
警告

管理控制台日志查看器不应成为文本编辑器,用于查看非常大的日志文件,例如大于 100MB。系统会提示您确认您是否尝试打开大于 15MB 的日志文件。在管理控制台中打开一个非常大的文件可能会使浏览器崩溃,因此您应始终在本地下载大型日志文件,并在文本编辑器中打开这些文件。

通过管理 CLI 查看日志

您可以使用 read- log-file 命令从管理 CLI 中读取 日志文件的内容。默认情况下,这会显示指定日志文件的最后 10 行。

/subsystem=logging/log-file=LOG_FILE_NAME:read-log-file
注意

在受管域中,在此命令前加上 /host=HOST_NAME/server=SERVER_NAME

您可以使用以下参数自定义日志输出:

编码
用于读取文件的字符编码。
要从文件中读取的行数。值 -1 将读取所有日志行。默认值为 10
skip
阅读前要跳过的行数。默认为 0
tail
是否从文件末尾读取 .默认值为 true

例如,以下管理 CLI 命令从 server.log 日志文件顶部读取前 5 行:

/subsystem=logging/log-file=server.log:read-log-file(lines=5,tail=false)

这会生成以下输出:

{
    "outcome" => "success",
    "result" => [
        "2016-03-24 08:49:26,612 INFO  [org.jboss.modules] (main) JBoss Modules version 1.5.1.Final-redhat-1",
        "2016-03-24 08:49:26,788 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final-redhat-1",
        "2016-03-24 08:49:26,863 INFO  [org.jboss.as] (MSC service thread 1-7) WFLYSRV0049: JBoss EAP 7.0.0.GA (WildFly Core 2.0.13.Final-redhat-1) starting",
        "2016-03-24 08:49:27,973 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0039: Creating http management service using socket-binding (management-http)",
        "2016-03-24 08:49:27,994 INFO  [org.xnio] (MSC service thread 1-1) XNIO version 3.3.4.Final-redhat-1"
    ]
}