问题描述
我正在统一制造一个游戏服务器,并在-batchmode
中运行它。我已经尝试过Console.WriteLine
和Debug.Log
,但是都没有实际在控制台上打印任何内容(我正在.bat
文件中运行)。我应该如何写到控制台?有没有简单的方法可以执行此操作,或者我还应该如何显示有关服务器运行的信息?
解决方法
进行了一些搜索。似乎只有在使用-batchmode
参数和-logFile
来使用Debug.Log
时,您才能登录到文件。
我确实设法找到了这个自定义控制台示例: https://garry.tv/unity-batchmode-console,如果您想付出更多努力以能够写入控制台。
类似的问题可能对您有用
,即使没有显式定义其他日志位置,默认情况下,Unity始终会产生以下日志输出(请参见Log Files)
PackageManager日志
Linux
~/.config/unity3d/upm.log
macOS
~/Library/Logs/Unity/upm.log
Windows
C:\Users\username\AppData\Local\Unity\Editor\upm.log
编辑日志
Linux
~/.config/unity3d/Editor.log
macOS
~/Library/Logs/Unity/Editor.log
Windows
C:\Users\username\AppData\Local\Unity\Editor\Editor.log
玩家日志
Linux
~/.config/unity3d/CompanyName/ProductName/Player.log
macOS
~/Library/Logs/Company Name/Product Name/Player.log
Windows
C:\Users\username\AppData\LocalLow\CompanyName\ProductName\Player.log
因此,构建完成后,您将对最后一个感兴趣,即玩家日志。通常,它是在您启动应用程序时创建的,但是直到应用程序完全关闭时才填充内容。
这里的例外是定义-logFile -
,它直接将输出打印到stdout
/终端-见下文。
如果您想要将日志输出重定向到其他文件或您可以使用的命令/标准输出(请参见Command Line Arguments)
-logFile <pathname>
指定Unity将编辑器或Windows / Linux / OSX独立日志文件写入的位置。要输出到控制台,请为路径名指定
-
。在Windows上,指定-
选项以使输出转到stdout
,默认情况下不是控制台。
并像往常一样使用Debug.Log
。