Skip to main content

Viewing code scanning logs

You can view the output generated during code scanning analysis in GitHub.

谁可以使用此功能?

具有读取访问权限的用户

About your code scanning configuration

You can use a variety of tools to configure code scanning in your repository. For more information, see 配置代码扫描的默认设置 and 配置代码扫描的高级设置.

The log and diagnostic information available to you depends on the method you use for code scanning in your repository. You can check the type of code scanning you're using in the Security tab of your repository, by using the Tool drop-down menu in the alert list. For more information, see Assessing code scanning alerts for your repository.

About analysis and diagnostic information

You can see analysis and diagnostic information for code scanning run using CodeQL analysis on GitHub.

Analysis information is shown for the most recent analysis in a header at the top of the list of alerts. For more information, see Assessing code scanning alerts for your repository.

Diagnostic information is displayed in the Action workflow logs and consists of summary metrics and extractor diagnostics. For information about accessing code scanning logs on GitHub, see Viewing the logging output from code scanning below.

If you're using the CodeQL CLI outside GitHub, you'll see diagnostic information in the output generated during database analysis. This information is also included in the SARIF results file you upload to GitHub with the code scanning results.

For information about the CodeQL CLI, see 使用 CodeQL 查询分析代码.

About summary metrics

摘要指标包括:

  • 在创建和提取 CodeQL 数据库之前,代码库中的代码行(用作基线)
  • 从代码中提取的 CodeQL 数据库中的代码行,包括外部库和自动生成的文件
  • CodeQL 数据库中的代码行,不包括自动生成的文件和外部库

About CodeQL source code extraction diagnostics

提取器诊断仅涵盖分析期间看到的文件,指标包括:

  • 成功分析的文件数量
  • 在创建数据库过程中生成提取器错误的文件数量
  • 在创建数据库过程中生成提取器警告的文件数量

You can see more detailed information about CodeQL extractor errors and warnings that occurred during database creation by enabling debug logging. For more information, see 日志不够详细.

Viewing the logging output from code scanning

This section applies to code scanning run using GitHub Actions (CodeQL or third-party).

After configuring code scanning for your repository, you can watch the output of the actions as they run.

  1. 在仓库名称下,单击“ Actions”****。

    “github/docs”存储库的选项卡的屏幕截图。 “操作”选项卡以橙色边框突出显示。

    You'll see a list that includes an entry for running the code scanning workflow. The text of the entry is the title you gave your commit message.

    Screenshot of the "All workflows" page. In the list of workflow runs is a run labeled "Create .github/workflows/codeql.yml."

  2. Click the entry for the code scanning workflow.

    注意

    If you are looking for the CodeQL workflow run triggered by enabling default setup, the text of the entry is "CodeQL."

  3. Click the job name on the left. For example, Analyze (LANGUAGE).

    Screenshot of the log output for the "Analyze (go)" job. In the left sidebar, under the "Jobs" heading, "Analyze (go)" is listed.

  4. Review the logging output from the actions in this workflow as they run.

  5. Optionally, to see more detail about the commit that triggered the workflow run, click the short commit hash. The short commit hash is 7 lowercase characters immediately following the commit author's username.

  6. Once all jobs are complete, you can view the details of any code scanning alerts that were identified. For more information, see Assessing code scanning alerts for your repository.

Determining whether code scanning default setup used any private registries

Code scanning default setup includes a Setup proxy or registries step. When you are looking at a log file for default setup, you can expand this step. If the step includes:

  • Using registries_credentials input. At least one private registry is configured for the organization.

  • Credentials loaded for the following registries:

    • No further output in the step. Access was unsuccessful.
    • Type: nuget_feed; Default set up accessed a private Nuget feed.
    • Type: maven_repository; Default set up accessed a private Maven repository.

For more information, see 授予安全功能访问专用注册表的权限.