使用 binaryLog 命令来查看或复制二进制日志记录存储库的内容,或者列示该存储库中可用的服务器进程实例。 binaryLog 命令等价于传统版应用程序服务器的概要文件 bin 目录中的 logViewer 命令。
二进制日志和跟踪工具以二进制格式写入至存储库。 可以使用 binaryLog 命令来查看、查询和过滤存储库。 binaryLog 命令提供的选项可快速地将存储库内容转换为各种格式的文本文件,例如基本格式和高级格式。 该命令还提供可更方便地从日志中获取所需数据的选项。 例如,允许您按级别、记录器名称、消息或日期和时间过滤所需的日志记录。
语法
命令语法如下所示:
binaryLog action {serverName | repositoryPath} [options]
options 的值随 action 的值不同而不同。
参数
下列操作可用于 binaryLog 命令:
- view
- 读取存储库,可以选择对其进行过滤,并创建用户可以读取的版本。
命令语法如下所示:
binaryLog view {serverName | repositoryPath} [options]
serverName
指定具有要从中读取的存储库的 Liberty 服务器的名称。
repositoryPath
指定要从其中读取的存储库的路径。 此路径通常是同时包含日志数据和跟踪数据目录的目录。
注: 在命令行上指定 serverName 的值和 repositoryPath的值。 否则,会对缺省服务器实例 defaultServer(如果存在)执行任务。
过滤器选项:
所有过滤器均为可选。 当使用多个过滤器时,它们将在逻辑上相“与”。
--minDate=
value根据最早记录创建日期进行过滤。 该值必须指定为日期 (例如 --minDate="23/01/17"
) 或日期和时间 (例如 --minDate="23/01/17 17:39:53:100 EST"
)。
还可输入 ISO-8601 格式的日期和时间。 例如,输入 --minDate="2017-01-23"
或 --minDate="2017-01-23T17:39:53.100-0500"
。
--maxDate=
value根据最迟记录创建日期进行过滤。 必须将值指定为日期(例如,--maxDate="2/20/13"
)或者日期和时间(例如,--maxDate="2/20/13 16:47:21:445 EST"
)。
还可输入 ISO-8601 格式的日期和时间。 例如,输入 --maxDate="2017-01-23"
或 --maxDate="2017-01-23T17:39:53.100-0500"
。
- - -minLevel=value
根据最低级别进行过滤。 值必须为下列其中一个值:FINEST | FINER | FINE | DETAIL
| CONFIG | INFO | AUDIT | WARNING | SEVERE | FATAL。
- - -maxLevel=value
根据最高级别进行过滤。 必须指定以下其中一个值:FINEST | FINER |
FINE | DETAIL | CONFIG | INFO | AUDIT | WARNING | SEVERE | FATAL。
- - -includeLogger=value[,value] *
包括具有所指定的记录器名称的记录。 值可以将 * 作为通配符包含。
--excludeMessage=
value排除具有所指定的消息的记录。 值可以将 * 作为通配符包含。
- - -includeMessage=value
根据消息名称进行过滤。 值可以将 * 作为通配符包含。
- - -includeThread=value
包括具有所指定的线程标识的记录。 值必须采用十六进制(例如,--includeThread=2a)。
- --includeExtension= 名称 = 值 [, 名称 = 值 ]*
包括具有所指定的扩展名和值的记录。 值可包含 *
或 ? 作为通配符。 要在值中包含逗号,必须使用“\,”
- - -includeInstance=value
包括所指定服务器实例中的记录。 值必须为 "latest" 或者有效的实例标识。 请使用 listInstances 操作来运行此命令以查看有效实例标识的列表。
- 监视选项:
- --monitor
连续监视存储库并输出所生成的新内容。
- copy
- 读取存储库,可以选择对其进行过滤,并将内容写入新的存储库。
- 命令语法如下所示:
binaryLog copy {serverName | repositoryPath} targetPath [options]
- serverName
指定具有要从中读取的存储库的 Liberty 服务器的名称。
- repositoryPath
指定要从其中读取的存储库的路径。 此路径通常是同时包含日志数据和跟踪数据目录的目录。
- targetPath
指定要在其中创建新的存储库的路径。 必须指定 targetPath。 还必须指定 serverName 或 repositoryPath。
过滤器选项:
- 所有过滤器均为可选。 当使用多个过滤器时,它们将在逻辑上相“与”。
--minDate=
value根据最早记录创建日期进行过滤。 该值必须指定为日期 (例如 --minDate="23/01/17"
) 或日期和时间 (例如 --minDate="23/01/17
17:39:53:100 EST"
)。
还可输入 ISO-8601 格式的日期和时间。 例如,输入 --minDate="2017-01-23"
或 --minDate="2017-01-23T17:39:53.100-0500"
。
--maxDate=
value根据最迟记录创建日期进行过滤。 该值必须指定为日期 (例如 --maxDate="23/01/17"
) 或日期和时间 (例如 --maxDate="23/01/17
17:39:53:100 EST"
)。
还可输入 ISO-8601 格式的日期和时间。 例如,输入 --maxDate="2017-01-23" or
--maxDate="2017-01-23T17:39:53.100-0500"
。
--minLevel=
value根据最低级别进行过滤。 必须使用以下其中一个值:FINEST | FINER |
FINE | DETAIL | CONFIG | INFO | AUDIT | WARNING | SEVERE | FATAL。
--maxLevel=
value根据最高级别进行过滤。 必须使用以下其中一个值:FINEST | FINER |
FINE | DETAIL | CONFIG | INFO | AUDIT | WARNING | SEVERE | FATAL。
--includeLogger=
value[,value] *包括具有所指定的记录器名称的记录。 值可以将 * 作为通配符包含。
--excludeLogger=
value[,value] *排除具有所指定的记录器名称的记录。 值可以将 * 作为通配符包含。
--includeMessage=
value根据消息名称进行过滤。 值可以将 * 作为通配符包含。
--excludeMessage=
value排除具有所指定的消息的记录。 值可以将 * 作为通配符包含。
--includeThread=
value包括具有所指定的线程标识的记录。 值必须采用十六进制(例如,--includeThread=2a)。
--includeExtension=
name=value[,name=value] *包括具有所指定的扩展名和值的记录。 值可包含 *
或 ? 作为通配符。 要在值中包含逗号,必须使用“\,”
--includeInstance=
value包括所指定服务器实例中的记录。 值必须为 "latest" 或者有效的实例标识。 请使用 listInstances 操作来运行此命令以查看有效实例标识的列表。
- listInstances
- 列示存储库中的服务器实例的标识。 服务器实例是从服务器启动直到停止期间写入的所有日志记录/跟踪记录的集合。 可将服务器实例标识与 binaryLog 查看操作的 --includeInstance 选项配合使用。
命令语法如下所示:
binaryLog listInstances {serverName | repositoryPath} [options]
- serverName
指定具有要从中读取的存储库的 Liberty 服务器的名称。
- repositoryPath
指定要从其中读取的存储库的路径。 此路径通常是同时包含日志数据和跟踪数据目录的目录。
注: 在命令行上指定 serverName 的值和 repositoryPath的值。 否则,会对缺省服务器实例 defaultServer(如果存在)执行任务。
- 输出选项:
- 请了解 binaryLog 过滤优化。 binaryLog 工具在与下列过滤选项配合使用时,能够最高效地过滤日志和跟踪数据:
- --minDate
- --maxDate
- --includeThread
- --minLevel
- --maxLevel
- Example usage
请参阅 binaryLog 命令的下列示例。
- 显示 defaultServer 存储库中在 2013 年 7 月 19 日到 2013 年 8 月 2 日期间发生的所有事件。
binaryLog view --minDate=07/19/13 --maxDate=08/02/13
- 显示 myServer 服务器中发生的、其指定级别为 WARNING 或更高级别的新事件,并在服务器将其写入日志存储库时使用高级格式。
binaryLog view myServer --monitor --minLevel=WARNING --format=advanced
- 写入来自存储库(位于 /apps/server1/logs)中的日志消息;仅包括已写入特定存储库的错误流的那些日志消息。
binaryLog view /apps/server1/logs --includeLogger=SystemErr
- 查看 defaultServer 存储库中在 2012 年 9 月 14 日美国东部夏令时下午 4:28 之前发生的事件。
binaryLog view --maxDate="09/14/12 16:28:00:000 EDT"
- 写入 defaultServer 存储库中包含“thread”扩展名并且具有以下值的事件:'Default Executor-thread-4'
binaryLog view --includeExtension=thread="Default Executor-thread-4" --format=advanced
- 查看 defaultServer 存储库中的服务器实例的列表:
binaryLog listInstances
Using D:\wlp\usr\servers\defaultServer\logs as repository directory.
Instance ID Start Date
1358809441761 1/21/13 18:04:01:761 EST
1358864476191 1/22/13 9:21:16:191 EST
1358869523192 1/22/13 10:45:23:192 EST
1358871281166 1/22/13 11:14:41:166 EST
1358879829000 1/22/13 13:37:09:000 EST
1358892222067 1/22/13 17:03:42:067 EST
- 查看 defaultServer 中的使用前一示例中的其中一个实例标识的事件:
binaryLog view --includeInstance=1358871281166
- 将 defaultServer 中的指定级别为 WARNING 或更高级别的事件从最新服务器实例复制到 d:\toSupport 目录中的新存储库。
binaryLog copy defaultServer d:\toSupport --minLevel=warning --includeInstance=latest
- 通过发出以下命令,查看 defaultServer 存储库的 ISO-8601 格式的时间和日期:
binaryLog view --isoDateFormat
输出如下所示:
[2017-01-16T23:36:43.891-0500] 00000150 servlet I com.ibm.ws.webcontainer.servlet.ServletWrapper doDestroy SRVE0253I:
[hello-world] [/hello-world] [/index.jsp]: Destroy successful.
[2017-01-16T23:36:43.900-0500] 00000150 AppMessageHel A CWWKZ0009I: The application hello-world has stopped successfully.
- 通过输入以下命令,列示存储库中的服务器实例的标识(ISO-8601 格式):
listInstances --isoDateFormat
输出如下所示:
Instance ID Start Date
1484625121871 2017-01-16T22:52:01.871-0500
1484626095175 2017-01-16T23:08:15.175-0500