日志记录 (Beta)

警告:此功能处于封闭测试阶段,仅经许可才能使用。

日志记录和分析日志是解决游戏服务器问题的基本且非常重要的方法。虽然存在第三方日志记录服务,但您需要在将其用于 Unity 游戏服务之前进行额外的设置和配置。

游戏服务器托管日志记录服务消除了为 Unity 云控制面板 项目设置日志记录系统的摩擦。它提供了一种方法来查看、搜索和下载来自 Unity 云控制面板的日志,无需设置与第三方服务的自定义集成。

通过使用此服务,您同意您不会允许或以其他方式让任何第三方传输或存储与使用日志记录功能相关的任何个人数据到 Unity。

Note: Game Server Hosting Logging is in closed beta. Unity is collecting as much feedback as possible to improve the feature. Please share any issues, thoughts, or feedback with the engineering team.

要求

在封闭测试版发布期间,您必须满足以下要求才能使用游戏服务器托管日志记录

  • 您必须已激活游戏服务器托管服务。
  • 除非您设置了特定的日志记录路径,否则游戏服务器托管会在 /usr/local/games/**/*.log 目录中查找日志。
  • 默认文件扩展名为 .log。如果您使用不同的文件扩展名,则必须使用配置变量或启动参数设置自定义日志记录路径。

限制

  • 日志文件仅保留七天。
  • 日志记录不会捕获 STDOUT。但是,它可能会在将来的版本中添加。
  • 您在一个 30 天期限内不能超过 100 GB 的日志。
  • 日志和日志记录服务的分析数据在封闭测试版中不可用。
  • 当您滚动加载较旧的日志时,实时日志功能会自动禁用。
  • 您无法按结构化日志中的字段对日志进行排序。这是因为游戏服务器托管无法预期日志输出格式。

功能和路线图

封闭测试版发布包含以下功能和功能。

  • 查看特定服务器的实时日志。
  • 查看舰队中所有服务器的实时日志。
  • 暂停实时日志。
  • 搜索单个服务器的日志。
  • 搜索舰队中所有服务器的日志。
  • 下载与上下文相对应的日志文件。
  • 访问脱机服务器的日志。
  • 将日志文件过滤到特定的日志文件序列。
  • 使用日志上下文来发现日志条目之前和之后发生了什么。
  • 激活和停用日志记录服务。
  • 显示日志记录服务限制。

以下功能和功能计划在未来的版本中发布。计划的功能可能会在未经通知的情况下更改。

  • 暂停日志记录以降低成本。
  • 与日志文件一起查看标准输出 (STDOUT)
  • 为不兼容的配置启用通知。
  • 配置自定义日志记录限制。
  • 覆盖日志的默认最大费用。

入门

警告:如果您还没有设置游戏服务器托管,请参阅 游戏服务器托管入门

您必须通过 Unity 云控制面板启用日志记录才能访问日志记录功能。

  1. 从游戏服务器托管侧边栏(在多人游戏下)中,选择日志
  2. 选择启用日志
  3. 阅读限制对话框,然后选择启用

在游戏服务器可执行文件端,请确保将日志文件保存到正确的位置,以便游戏服务器托管知道在哪里找到它们。您可以将日志文件保存到默认目录或自定义目录。如果您保存到自定义目录,则必须在 构建配置设置 中指定自定义目录。

游戏服务器托管检查您是否有一个由 构建配置变量启动参数 指定的自定义日志输出目录。如果您有一个自定义日志输出目录,它会使用该目录。如果您没有指定自定义日志输出目录,它会在以下目录中查找以 .log 结尾的文件

/usr/local/games/**/*

Note: You set log output locations per build configuration. If you allocate a game server with a different build configuration, the game server might save logs to a different directory.

指南

探索以下指南以了解如何在游戏服务器托管日志记录中执行特定的日志记录任务。

查看日志

要查看游戏服务器日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。

查看实时日志

要查看实时日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 选择实时日志

在您启用实时日志时,日志视图会随着游戏服务器运行而更新新日志。但是,如果您滚动查看较旧的日志,实时日志会自动禁用。

查看静态日志

要查看静态日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 选择静态日志

在您启用静态日志时,日志页面不会随着游戏服务器运行而自动显示新日志。

Note: Scrolling through logs with Live logs enabled automatically enables Static logs.

搜索日志

要搜索日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 在搜索栏中输入搜索词。
    • 如果希望在输入时自动过滤,请启用 **搜索时过滤**。

搜索舰队日志

您可以通过选择 **舰队**,然后搜索日志消息或按 **日期范围** 或 **服务器** 进一步过滤来搜索特定舰队的所有日志。

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 使用 **舰队** 下拉菜单选择一个舰队。
  5. 使用搜索栏搜索关键字,或按 **日期范围** 搜索。

搜索服务器日志

您可以通过选择 **服务器**,然后搜索日志消息或按 **日期范围** 进一步过滤结果来搜索特定游戏服务器的所有日志。

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 使用 **服务器** 下拉菜单选择一个服务器。
  5. 使用搜索栏搜索关键字,或按 **日期范围** 搜索。

跟踪日志搜索结果

您可以通过激活实时日志功能来跟踪日志搜索结果。如果服务器(或舰队)在线,您可以查看游戏服务器创建的新日志条目。

过滤日志

要按日期范围、舰队或游戏服务器过滤日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 选择您要使用的过滤器

按日期范围过滤

您可以按预设的日期过滤器之一(例如过去 24 小时)或自定义日期范围来过滤日志。

Tip: When filtering by a custom date range, you can leave the End date blank to filter from the Start date to the current date.

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 将 **日期范围** 设置为 **自定义**。
  5. 选择要过滤日志的 **开始日期** 和 **结束日期**。
  6. 选择 **应用**。如果您不填写结束日期,则默认设置为当天。

按舰队过滤

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 使用 **舰队** 下拉菜单选择一个舰队。

按服务器过滤

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 使用 **服务器** 下拉菜单选择一个服务器。

按日志文件过滤

Note: You must first filter by fleet and server before you can filter by logfile.

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 使用 **日志文件** 下拉菜单选择一个日志文件。

查看上下文中的日志

每个日志条目中 **更多** (⋮) 菜单中提供其他上下文过滤器选项。此菜单允许您按舰队过滤、按服务器过滤、按日志文件过滤或在上下文中查看日志条目。

按舰队过滤

按舰队过滤会过滤当前的日志搜索结果,仅显示与您选择的日志条目位于同一舰队的结果。

按服务器过滤

按服务器过滤会过滤当前的日志搜索结果,仅显示与您选择的日志条目位于同一服务器的结果。选择上下文过滤器后,您可以通过其他上下文进一步过滤结果。

按日志文件过滤

按日志文件过滤会过滤当前的日志搜索结果,仅显示与您选择的日志条目位于同一日志文件的结果。按日志文件过滤会自动按与日志文件关联的舰队和服务器过滤结果。

在上下文中查看

在上下文中查看日志文件会自动按与日志条目相同的舰队和服务器过滤日志,并将时间限制在条目前后五分钟内。

下载日志

要下载日志

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 选择 **下载日志**。

这将根据当前过滤器和搜索结果下载您已加载的日志。

如果在选择 **下载日志** 时启用了 **实时日志**,则它会下载最新的日志。如果您在向下滚动后选择 **下载日志**,它还会下载您在 **日志视图** 中加载的所有日志文件。

您可以通过按日期范围、舰队、服务器或搜索查询过滤日志来控制下载的日志。例如,要下载特定日期范围内单个服务器的日志,请在选择 **下载日志** 之前使用 **日期范围** 过滤器和 **服务器** 过滤器过滤日志。

下载特定日志文件

您可以通过选择日志条目行末的 **下载源日志文件** 图标来下载特定日志条目的源日志文件。

从特定时间下载日志

您可以通过按日期范围过滤日志,然后选择 **下载日志** 来下载特定时间的日志。

  1. Unity 云控制面板 中,打开游戏服务器托管(多人游戏)
  2. 选择调试
  3. 选择日志记录选项卡。
  4. 将 **日期范围** 设置为 **自定义**。
  5. 选择要过滤日志的 **开始日期** 和 **结束日期**,然后选择 **应用**。如果您不填写结束日期,则默认设置为当天。
  6. 选择 **下载日志**。

下载日志搜索结果

您可以通过选择 **下载日志** 来下载当前搜索结果。默认情况下,它只下载已加载的日志结果。

禁用日志

您可以随时禁用游戏服务器托管日志。禁用日志后,您将无法访问您的日志或游戏服务器托管日志功能。

禁用游戏服务器托管日志不会删除任何日志文件。您的服务器将继续写入日志文件,您仍然可以从标准游戏服务器托管日志视图访问日志文件。

Note: Game Server Hosting deletes your parsed logs from the back end service (not your log files) following a standard seven day retention period.

故障排除

如果日志未在 Unity 云控制台中显示

  1. 确保您使用的是默认日志输出目录,或者您已指定自定义日志输出目录。
  2. 如果您使用除 .log 之外的文件扩展名,请确保您拥有自定义日志输出目录。
  3. 如果您的游戏使用虚幻引擎,请参考 为使用虚幻引擎的游戏重定向日志输出

术语表

**舰队**:舰队是游戏服务器托管(Multiplay)视为逻辑单元的一组服务器。

**机器**:服务器运行的云或裸机机器,一台机器可以运行多个服务器。

**服务器**:游戏服务器二进制文件的实际运行可执行文件。它可以是长时间运行的服务器,新的会话在同一执行中启动和停止,也可以是单个会话可执行文件,该文件在会话完成后将关闭。服务器是开发人员实施其日志记录策略的地方。每个服务器都可以生成一个或多个日志文件。日志文件可以是长期的或短期的。

**上下文**(又称 **日志文件**):日志文件是您存储日志记录数据的地方。作为开发人员,您必须知道每个服务器生成的日志文件数量、每个日志文件包含的内容、日志数据的格式以及如何在日志文件中查找信息。

**实时日志**:实时日志或实时日志视图是一种视图,您可以在其中启用实时(实时)日志。在此视图中,新生成的日志文件会自动填充日志搜索结果。

**静态日志**:静态日志或静态日志视图是一种视图,您可以在其中禁用实时(或实时)日志填充当前搜索结果。

**过滤**:过滤是指按关键字、舰队、服务器、日志或日期范围过滤日志结果的过程。

**日志文件**:日志文件或源日志文件是日志视图中显示的信息的来源。您可以从搜索结果中下载特定的源日志文件。

**服务器日志**:所有日志文件都源自运行游戏服务器的游戏服务器可执行文件。您可以按特定服务器过滤日志。

**舰队日志**:舰队日志是指特定舰队中服务器生成的所有日志文件。您可以按特定舰队过滤日志。