Write a utility.log to the logs dir when the utility crashes
This commit is contained in:
@@ -42,7 +42,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
Process p = new Process();
|
Process p = new Process();
|
||||||
p.StartInfo.FileName = Utility;
|
p.StartInfo.FileName = Utility;
|
||||||
p.StartInfo.Arguments = args;
|
p.StartInfo.Arguments = "{0} --SupportDir \"{1}\"".F(args, Game.SupportDir);
|
||||||
p.StartInfo.UseShellExecute = false;
|
p.StartInfo.UseShellExecute = false;
|
||||||
p.StartInfo.CreateNoWindow = true;
|
p.StartInfo.CreateNoWindow = true;
|
||||||
p.StartInfo.RedirectStandardOutput = true;
|
p.StartInfo.RedirectStandardOutput = true;
|
||||||
@@ -58,7 +58,7 @@ namespace OpenRA
|
|||||||
{
|
{
|
||||||
Process p = new Process();
|
Process p = new Process();
|
||||||
p.StartInfo.FileName = Utility;
|
p.StartInfo.FileName = Utility;
|
||||||
p.StartInfo.Arguments = args;
|
p.StartInfo.Arguments = "{0} --SupportDir \"{1}\"".F(args, Game.SupportDir);
|
||||||
p.StartInfo.UseShellExecute = false;
|
p.StartInfo.UseShellExecute = false;
|
||||||
p.StartInfo.CreateNoWindow = true;
|
p.StartInfo.CreateNoWindow = true;
|
||||||
p.StartInfo.RedirectStandardOutput = true;
|
p.StartInfo.RedirectStandardOutput = true;
|
||||||
|
|||||||
@@ -62,13 +62,27 @@ namespace OpenRA.Utility
|
|||||||
pipe.WaitForConnection();
|
pipe.WaitForConnection();
|
||||||
Console.SetOut(new StreamWriter(pipe) { AutoFlush = true });
|
Console.SetOut(new StreamWriter(pipe) { AutoFlush = true });
|
||||||
}
|
}
|
||||||
|
i = Array.IndexOf(args, "--SupportDir");
|
||||||
|
if (args.Length > 1 && i >= 0)
|
||||||
|
{
|
||||||
|
Log.LogPath = args[i+1] + Path.DirectorySeparatorChar + "Logs" + Path.DirectorySeparatorChar;
|
||||||
|
Console.WriteLine("LogPath: {0}", Log.LogPath);
|
||||||
|
}
|
||||||
|
try
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException("foo");
|
||||||
var action = WithDefault( null, () => actions[args[0]]);
|
var action = WithDefault( null, () => actions[args[0]]);
|
||||||
if (action == null)
|
if (action == null)
|
||||||
PrintUsage();
|
PrintUsage();
|
||||||
else
|
else
|
||||||
action(args);
|
action(args);
|
||||||
|
}
|
||||||
|
catch( Exception e )
|
||||||
|
{
|
||||||
|
Log.AddChannel("utility", "utility.log");
|
||||||
|
Log.Write("utility", "{0}", e.ToString());
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
if (piping)
|
if (piping)
|
||||||
Console.Out.Close();
|
Console.Out.Close();
|
||||||
|
|||||||
Reference in New Issue
Block a user