跳至主要内容

生成日志摘要

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

谁可以使用此功能?

CodeQL 可用于以下存储库类型

本文档内容

此内容描述了 CodeQL CLI 的最新版本。有关此版本的更多信息,请参阅 https://github.com/github/codeql-cli-binaries/releases

要在早期版本中查看此命令可用的选项的详细信息,请在终端中使用 --help 选项运行该命令。

概要

Shell
codeql generate log-summary <options>... -- <input> <result>

描述

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

此命令创建结构化 JSON 评估器事件日志的摘要。与日志文件本身相比,此命令的输出旨在在不同版本的 CLI 中更加稳定。因此,在实现使用日志输出的脚本时,强烈建议运行此命令并使用其输出,而不是直接使用事件日志。

选项

主要选项

<input>

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

<result>

输出汇总日志文件的目标位置的路径。如果省略此项,则摘要将输出到标准输出。

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

[高级] 显式将详细程度级别设置为错误、警告、进度、进度+、进度++、进度+++ 之一。覆盖 -v-q

--logdir=<dir>

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

(要写入一个您可以完全控制其名称的日志文件,请改用 --log-to-stderr 并根据需要重定向标准错误。)

--common-caches=<dir>

[高级] 控制磁盘上缓存数据的存储位置,这些数据将在 CLI 的多次运行之间持续存在,例如下载的 QL 包和已编译的查询计划。如果未显式设置,则默认为用户主目录中名为 .codeql 的目录;如果该目录不存在,则会创建它。

v2.15.2 版本起可用。