日志记录(测试版)

警告:此功能目前处于封闭测试阶段,只有获得授权才能访问。

记录和分析日志是对游戏服务器进行故障排除的一种基本且极其重要的方式。尽管存在第三方日志记录服务,但您需要对这些服务进行额外的设置和配置,才能将它们与 Unity Gaming Services(Unity 游戏服务)配合使用。

Game Server Hosting 日志记录服务消除了为 Unity Dashboard(Unity 后台)项目设置日志记录系统的麻烦。它提供了一种在 Unity Dashboard(Unity 后台)中查看、搜索和下载日志的方式,而无需设置与第三方服务的自定义集成。

使用此服务即表示您同意不允许或不会以其他方式让任何第三方在涉及使用日志记录功能时向 Unity 传输或存储任何个人数据。

注意:Game Server Hosting 日志记录功能目前处于封闭测试阶段。Unity 正在尽力收集尽可能多的反馈意见,以改进该功能。如果您有任何问题、想法或反馈,请联系工程团队。

要求

在封闭测试发布期间,您必须满足以下要求,才能使用 Game Server Hosting 日志记录功能:

  • 您必须已激活 Game Server Hosting 服务。
  • 除非您设置了具体的日志记录路径,否则 Game Server Hosting 会在 /usr/local/games/**/*.log 目录中查找日志。
  • 默认文件扩展名为 .log。如果您使用其他的文件扩展名,则必须使用配置变量或启动参数来设置自定义日志记录路径。

限制

  • 日志文件只会保留七天。
  • 日志记录功能不会捕捉 STDOUT。不过,未来发布版本中可能会添加该功能。
  • 在 30 天内,日志总大小不能超过 100 GB。
  • 封闭测试期间不提供日志和日志记录服务的分析数据。
  • 当您滚动加载较旧的日志时,实时日志功能会自动禁用。
  • 在结构化日志中,无法按字段对日志进行排序。这是因为 Game Server Hosting 无法确定日志输出格式。

功能和路线图

封闭测试版本中包含以下特性和功能。

  • 查看特定服务器的实时日志。
  • 查看机群中所有服务器的实时日志。
  • 暂停实时日志。
  • 搜索单个服务器的日志。
  • 搜索机群中所有服务器的日志。
  • 下载与某个上下文相对应的日志文件。
  • 访问离线服务器的日志。
  • 过滤日志文件,以筛选出特定的日志文件序列。
  • 使用日志上下文来探索某个日志条目前后发生的事情。
  • 启用和停用日志记录服务。
  • 日志记录服务限制展示。

未来发布版本中计划推出以下特性和功能。计划推出的功能如有变更,恕不另行通知。

  • 暂停日志记录功能来降低成本。
  • 随日志文件一块查看标准输出 (STDOUT)。
  • 针对不兼容的配置启用通知功能。
  • 配置自定义日志记录限制。
  • 覆盖日志的默认最大开销。

开始使用

警告:如果您尚未设置 Game Server Hosting,请参阅开始使用 Game Server Hosting

您必须先通过 Unity Dashboard(Unity 后台)启用日志记录功能,才能访问该功能。

  1. 从 Game Server Hosting 边栏(在“Multiplayer”下)中,选择 Logs(日志)
  2. 选择 Enable logs(启用日志)
  3. 通读限制对话框中的信息,然后选择 Enable(启用)

在游戏服务器可执行文件运行结束时,请确保将日志文件保存到正确的位置,以便 Game Server Hosting 知道在哪里找到它们。您可以将日志文件保存到默认目录或自定义目录。如果您选择保存到自定义目录,则必须在版本配置设置中指定自定义目录。

Game Server Hosting 会检查您是否已通过版本配置变量启动参数指定了自定义日志输出目录。如果您指定了自定义日志输出目录,它将使用该目录。如果您没有指定自定义日志输出目录,它将检查以下目录中有没有以 .log 结尾的文件:

/usr/local/games/**/*

注意:您可以根据版本配置来设置日志输出位置。如果您分配了使用其他版本配置的游戏服务器,该游戏服务器可能会将日志保存到其他的目录中。

指南

请浏览以下指南,了解如何在 Game Server Hosting 中执行特定的日志记录任务。

查看日志

您可以通过在 Unity Dashboard(Unity 后台)中转到 Multiplayer > Game Server Hosting > **Logs(日志)**来查看游戏服务器日志。

查看实时日志

要通过 Unity Dashboard(Unity 后台)查看实时日志,请转到 Multiplayer > Game Server Hosting > Logs(日志),然后选择 Live logs(实时日志)。启用 Live logs(实时日志)后,随着游戏服务器运行,日志视图会进行更新,以显示新的日志。不过,如果您滚动查看较旧的日志,实时日志功能会自动禁用。

查看静态日志

要通过 Unity Dashboard(Unity 后台)查看静态日志,请转到 Multiplayer > Game Server Hosting > Logs(日志),然后选择 Static logs(静态日志)。启用 Static logs(静态日志)后,日志页面不会随着游戏服务器运行而自动显示新的日志。

注意:启用实时日志功能后,滚动查看日志时,会自动启用静态日志功能。

搜索日志

要通过 Unity Dashboard(Unity 后台)搜索日志,请转到 Multiplayer > Game Server Hosting > Logs(日志),然后在搜索栏中键入所需内容。如果您想一边键入一边自动过滤,请启动 Filter on search(搜索时过滤)

搜索机群日志

您可以搜索特定机群的所有日志,方法是选择相应机群,然后搜索日志消息或者按 Date range(日期范围)或 Servers(服务器)进一步过滤。

  1. 选择用作过滤条件的 Fleet(机群)
  2. 使用搜索栏搜索关键字。或者,使用 Date range(日期范围)来按日期过滤。

搜索服务器日志

您可以搜索特定游戏服务器的所有日志,方法是选择相应 Server(服务器),然后搜索日志消息或者按 Date range(日期范围)进一步过滤结果。

  1. 选择用作过滤条件的 Server(服务器)
  2. 使用搜索栏搜索关键字。或者,使用 Date range(日期范围)来按日期过滤。

跟踪日志搜索结果

您可以激活实时日志功能来跟踪日志搜索结果。如果服务器(或机群)处于在线状态,您可以在游戏服务器创建新的日志条目的同时查看它们。

过滤日志

您可以按日期范围、机群或游戏服务器过滤日志。要通过 Unity Dashboard(Unity 后台)搜索日志,请转到 Multiplayer > Game Server Hosting > Logs(日志),然后选择要使用的过滤器。

按日期范围过滤

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

提示:使用自定义日期范围进行过滤时,您可以将 **End date(结束日期)**留空,这样可以过滤从 **Start date(开始日期)**到当前日期的日志。

  1. 选择 Date range(日期范围)> Custom(自定义)

  2. 选择要用于过滤日志的 **Start date(开始日期)**和 End date(结束日期),然后选择 Apply(应用)。如果您将 End date(结束日期)留空,则会默认为今天。

按机群过滤

您可以按一个或多个机群过滤日志,方法是选择 Fleet(机群),然后选择相应的机群名称。

按服务器过滤

您可以按一个或多个游戏服务器过滤日志,方法是选择 Server(服务器),然后选择相应的服务器 ID。

按日志文件过滤

您可以通过选择 **Logfile(日志文件)**来按特定的日志文件过滤日志。不过,您必须先按机群和服务器进行过滤。

在上下文中查看日志

您可以通过使用各个日志条目对应的更多 (⋮) 菜单中提供的上下文过滤选项来深入了解对应问题。通过该菜单,您可以按机群、服务器、日志文件进行过滤,或者在上下文中查看日志条目。

机群过滤

机群过滤功能会过滤当前的日志搜索结果,以仅显示与所选日志条目来自同一机群的结果。

服务器过滤

服务器过滤功能会过滤当前的日志搜索结果,以仅显示与所选日志条目来自同一服务器的结果。选择上下文过滤器后,您可以按另一个上下文进一步过滤结果。

日志文件过滤

日志文件过滤功能会过滤当前的日志搜索结果,以仅显示与所选日志条目来自同一日志文件的结果。按日志文件进行过滤时,会自动按与日志文件关联的机群和服务器过滤结果。

在上下文中查看

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

下载日志

要从 Unity Dashboard(Unity 后台)下载日志,请转到 Multiplayer > Game Server Hosting > Logs(日志),然后选择 Download logs(下载日志)。该操作会下载根据当前过滤条件和搜索结果加载的日志。

如果启用了 Live logs(实时日志),则在您选择 **Download logs(下载日志)**时,会下载最近的日志。如果您在向下滚动浏览后选择 Download logs(下载日志),它也会下载 **Logs view(日志视图)**中加载的所有日志文件。

您可以通过按日期范围、机群、服务器或搜索查询来控制下载的日志。例如,要下载特定日期范围内单个服务器的日志,请先使用 **Date range(日期范围)**过滤器和 **Server(服务器)**过滤器来过滤日志,然后再选择 Download logs(下载日志)

下载特定日志文件

您可以通过选择日志条目旁边的 **Download source log file(下载源日志文件)**来下载特定日志条目的源日志文件。

下载特定时间的日志

您可以下载特定时间的日志,方法是先按 Date range(日期范围)过滤日志,然后选择 Download logs(下载日志)

  1. 选择 Date range(日期范围)> Custom(自定义)
  2. 选择要用于过滤日志的 **Start date(开始日期)**和 End date(结束日期),然后选择 Apply(应用)。如果您将 End date(结束日期)留空,则会默认为今天。
  3. 选择 Download logs(下载日志)

下载日志搜索结果

您可以通过选择 **Download logs(下载日志)**来下载当前搜索结果。默认情况下,这时只会下载已加载的日志结果。

禁用日志

您可以随时禁用 Game Server Hosting 日志。禁用日志后,您将无法访问日志和 Game Server Hosting 日志记录功能。

禁用 Game Server Hosting 日志不会删除任何日志文件。服务器将会继续写入日志文件,并且您仍可以通过标准 Game Server Hosting 日志视图访问日志文件。

注意:Game Server Hosting 会在标准的七天保留期后从后端服务(而非您的日志文件)删除已解析的日志。

故障排除

如果 Unity Dashboard(Unity 后台)中不显示日志:

  1. 确保您使用的是默认日志输出目录或您指定了自定义日志输出目录。
  2. 如果您使用 .log 之外的其他文件扩展名,则确保您指定了自定义日志输出目录。
  3. 如果您的游戏使用 Unreal 引擎,请参阅使用 Unreal 重定向游戏的日志输出

术语

机群:机群是 Game Server Hosting (Multiplay) 视为一个逻辑单元的一组服务器。

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

服务器:游戏服务器二进制文件实际运行的可执行文件。它可以是一个长期运行的服务器,这种情况下新会话会在相同的执行中启动和停止;也可以是单个会话可执行文件,该文件会在会话完成后关闭。服务器是开发者实施其日志策略的地方。每个服务器可以生成一个或多个日志文件。日志文件可以长时间保留,也可以短暂存在。

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

实时日志:实时日志(或者实时日志视图)是指启用了实时日志后的视图。在此视图中,新生成的日志文件会自动显示在日志搜索结果中。

静态日志:静态日志(或者静态日志视图)是指禁用实时日志以防止它们出现在当前搜索结果中的视图。

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

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

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

机群日志:机群日志是指特定机群内服务器生成的所有日志文件。您可以按特定机群过滤日志。