fix: 压测日志接入 ISMCTS stdout (sims/winRate) 到每局文件
This commit is contained in:
@ -54,15 +54,35 @@ namespace hjha_console
|
||||
var main = new PdkGameMain(null);
|
||||
main.BotMode = true;
|
||||
|
||||
// 重定向 output.txt 到本轮日志
|
||||
// 本轮日志路径
|
||||
var logPath = $"{logDir}/round_{r:D5}.txt";
|
||||
if (File.Exists("output.txt")) File.Delete("output.txt");
|
||||
|
||||
// 重定向 Console stdout → 本轮 ISMCTS 日志
|
||||
var ismctsLog = $"{logDir}/round_{r:D5}_ismcts.txt";
|
||||
var oldOut = Console.Out;
|
||||
using (var ismctsWriter = new StreamWriter(ismctsLog) { AutoFlush = true })
|
||||
{
|
||||
Console.SetOut(ismctsWriter);
|
||||
main.Test("");
|
||||
}
|
||||
Console.SetOut(oldOut);
|
||||
|
||||
// 移动 output.txt → 本轮日志
|
||||
// 合并 output.txt + ISMCTS 日志 → 本轮日志
|
||||
using (var combined = new StreamWriter(logPath, false))
|
||||
{
|
||||
if (File.Exists(ismctsLog))
|
||||
{
|
||||
combined.Write(File.ReadAllText(ismctsLog));
|
||||
combined.WriteLine();
|
||||
File.Delete(ismctsLog);
|
||||
}
|
||||
if (File.Exists("output.txt"))
|
||||
File.Move("output.txt", logPath);
|
||||
{
|
||||
combined.Write(File.ReadAllText("output.txt"));
|
||||
}
|
||||
}
|
||||
if (File.Exists("output.txt")) File.Delete("output.txt");
|
||||
|
||||
completed++;
|
||||
roundSw.Stop();
|
||||
|
||||
Reference in New Issue
Block a user