我正在Unity中构建一个无头服务器应用程序。我希望它将状态消息打印到stdout。但它会将所有控制台输出定向到播放器日志。即使我试图恢复标准输出流也是如此:
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
standardOutput.AutoFlush = true;
Console.SetOut(standardOutput);
System.Console.WriteLine("Server started (this is Console output).");
播放器日志中仍然显示输出,而不是我启动应用程序的命令行(使用-batchmode和-nographics选项)。 (这是在macOS上测试的。)
有没有办法从无头Unity应用程序打印到标准版?
答案 0 :(得分:3)
默认情况下,Unity不会将日志发送到标准输出。要在macO上执行此操作,请在打开它时将-logfile
作为参数传递给Unity应用程序,或者如果那是您的目标,则传递给Unity编辑器。 不要为此参数提供文件名。
只需添加空-logfile
参数,它就会使Unity将日志发送到sdout。
例如:
TheApp.app/Contents/MacOS/TheApp -batchmode -nographics -logfile