11.2. 查看日志文件
查看服务器和应用程序日志非常重要,以帮助诊断错误、性能问题和其他问题。有些用户可能更喜欢直接在服务器文件系统中查看日志。对于无法直接访问文件系统或更喜欢图形界面的用户,JBoss EAP 允许您从管理控制台查看日志。您还可以使用管理 CLI 查看日志。
若要从其中一个管理接口访问日志,它必须位于服务器的 jboss.server.log.dir
属性指定的目录中,并且定义为文件、定期轮转、大小轮转或定期轮转日志处理程序。RBAC 角色分配也会被遵守,因此登录管理控制台或 CLI 的用户只能查看被授权访问的日志。
从管理控制台查看日志
您可以直接从管理控制台查看日志。
- 选择 Runtime 选项卡,然后选择相应的服务器。
- 选择 Log Files,然后从列表中选择一个日志文件。
- 单击 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" ] }