UE4 enable logs in Shipping builds

发布时间:2022-06-08 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了UE4 enable logs in Shipping builds脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

默认情况下,使用 Shipping 配置的打包游戏根本不会记录任何内容。这对安全性非常有用。但是,当您的游戏测试人员和现场玩家遇到问题时,如果没有日志,就很难进行故障排除。

 

UE4/UE5 在Shipping 版本中默认是不会有日志的(USE_LOGGING_IN_SHIPPING = 0),要在 Shipping build 中启用日志。

 

虽然交付构建的默认设置不会打印任何平台的日志,但可以定义 USE_LOGGING_IN_SHIPPING (Source/Runtime/Core/Public/Misc/Build.h)在 UBT 中启用 bUseLoggingInShipping 来启用它来这样做。

 

执行以下过程:

 

1、必须首先下载引擎源代码,并使用源码构建引擎开发项目。没有它,它根本无法工作。这些设置会改变构建游戏和引擎二进制文件的方式。

 

2、您需要在游戏模块的 Target.cs 文件中添加一些额外的设置。

 

在 {projectname}.Target.cs 文件的 contrsuctor 中,添加以下行: bUseLoggingInShipping = true,USE_LOGGING_IN_SHIPPING = 1 完全定义了日志记录代码。 仅仅设置该项会导致构建失败。

 

还需要设置其他两个标志之一,具体取决于您是使用 UE4 的源构建还是从 Epic Games Launcher 安装。

 

如果使用源构建,添加:BuildEnvironment = TargetBuildEnvironment.Unique

 

如果使用已安装的版本,添加:bOverrideBuildEnvironment = true;

 

public class GameTarget : TargetRules
{
	public GameTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;

		// enable logs and debugging for Shipping builds
		if (Configuration == UnrealTargetConfiguration.Shipping)
		{
			BuildEnvironment = TargetBuildEnvironment.Unique;
			bUseChecksInShipping = true;
			bUseLoggingInShipping = true;
		}

		ExtraModuleNames.AddRange( new string[] { "Game" } );
	}
}

 

然后,下次在 Shipping 模式下打包时,不仅可以获得日志,而且还可以将 Visual Studio 调试器附加到 Shipping 二进制文件。

 

3、运行带有 “-log” 标志的 exe,日志会出现在命令行窗口中。

 

 UE4 会在 “WindowsNoEditorExample_426SavedLogs” 中保存运行的日志。

 UE5 会在 “C:UsersxxxAppDataLocalExample_500” 中保存运行的日志。

脚本宝典总结

以上是脚本宝典为你收集整理的UE4 enable logs in Shipping builds全部内容,希望文章能够帮你解决UE4 enable logs in Shipping builds所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: