binaryLog 命令选项

使用 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

连续监视存储库并输出所生成的新内容。

输出选项:
  • --format={basic | advanced | CBE-1.0.1}

    指定要使用的输出格式。 "basic" 为缺省格式。

  • --encoding=价值

    指定要用于输出的字符编码。

  • --isoDateFormat

    指定用于输出的 ISO-8601 日期和时间格式。

copy
读取存储库,可以选择对其进行过滤,并将内容写入新的存储库。
命令语法如下所示:
binaryLog copy {serverName | repositoryPath} targetPath [options]
serverName

指定具有要从中读取的存储库的 Liberty 服务器的名称。

repositoryPath

指定要从其中读取的存储库的路径。 此路径通常是同时包含日志数据和跟踪数据目录的目录。

targetPath

指定要在其中创建新的存储库的路径。 必须指定 targetPath。 还必须指定 serverNamerepositoryPath

过滤器选项:

所有过滤器均为可选。 当使用多个过滤器时,它们将在逻辑上相“与”。
  • --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(如果存在)执行任务。
输出选项:
  • --isoDateFormat

    指定用于输出的 ISO-8601 日期和时间格式。

请了解 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