# 生成日志摘要

[高级] 创建结构化日志文件的摘要。

> [!NOTE]
> 此内容描述了 CodeQL CLI 的最新版本。 有关此版本的详细信息，请参阅 https://github.com/github/codeql-cli-binaries/releases 。
>
> 若要查看早期版本中此命令可用选项的详细信息，请在终端中使用 <span style="white-space: nowrap;">`--help`</span> 选项运行命令。

## 概要

```shell copy
codeql generate log-summary <options>... -- <input> <result>
```

## Description

              \[高级] 创建结构化日志文件的摘要。

此命令创建结构化 JSON 计算器事件日志的摘要。
此命令输出的目标是在不同版本的 CLI 中比日志文件本身更稳定。 因此，如果要实现的脚本使用来自日志的输出，强烈建议运行此命令并使用其输出，而不是直接使用事件日志。

## 选项

### 主要选项

#### `<input>`

              \[必需] 要生成其摘要的事件日志文件的路径。

#### `<result>`

将摘要日志文件输出到的位置的路径。 如果省略，则摘要会输出到 stdout。

#### `--minify-output`

如果适用，请省略所输出摘要中的空格。 结果将降低人类可读性，但会减少占用的内存。 此选项仅对某些输出格式有效。

#### `--utc`

              \[高级] 此命令生成的摘要中的某些时间戳可能使用运行它们的计算机的本地时区。
启用此标志会强制所有时间戳使用 UTC。

#### `--format=<format>`

控制生成的输出的格式。

              `predicates`
              _（默认值）_：生成针对每个谓词执行的计算的摘要。 这是一个 JSON 对象流，这些对象由两个（默认值）或一个（如果传递 `--minify-output` 选项）换行符分隔。

              `text`：生成评估运行的人类可读摘要。

              `overall`：生成一个 JSON 文件，其中包含一些有关评估运行的总体信息（包括一些摘要统计信息和有关执行的最耗时评估的信息）。

#### `--[no-]deduplicate-stage-summaries`

              \[高级] 此选项仅适用于文本格式。
如果传递，这会导致包含资源消耗最高的谓词的摘要表不会在查询之间共享的阶段重复。 这有一个副作用，即将所有摘要表移动到日志末尾，而不是让每个查询的摘要表在查询完成时显示。

### 常用选项

#### `-h, --help`

显示此帮助文本。

#### `-J=<opt>`

              \[高级] 向运行命令的 JVM 提供选项。

（请注意，无法正确处理包含空格的选项。）

#### `-v, --verbose`

以增量方式增加输出的进度消息数。

#### `-q, --quiet`

以增量方式减少输出的进度消息数。

#### `--verbosity=<level>`

              \[高级] 明确将详细级别设置为 errors、warnings、progress、progress+、progress++、progress+++ 之一。 重写 `-v` 和 `-q`。

#### `--logdir=<dir>`

              \[高级] 将详细日志写入指定目录中的一个或多个文件，生成的文件名包含时间戳和正在运行的子命令名称。

（要使用可以完全控制的名称编写日志文件，请根据需要提供 `--log-to-stderr` 并重定向 stderr。）

#### `--common-caches=<dir>`

              \[高级] 控制磁盘上缓存数据的位置，这些数据将在 CLI 的多次运行之间保留，例如下载的 QL 包和编译的查询计划。 如果未明确设置，则默认为用户主目录中名为 `.codeql` 的目录；如果尚不存在，则会创建该目录。

自 `v2.15.2` 起可用。