标准输出不打印每一行的日期和时间

Standard output does not print date and time for each line

我目前有一个标准输出进程,它在我的控制台应用程序中执行 CMD 命令并将输出打印到日志文件。

问题?

在打印输出之前,它只会打印一次当前日期和时间。

示例 - 来自日志 .txt 文件

我想达到什么目的?

例子

当前代码

static readonly string logPath = (@"C:\Temp\Test.txt");

        public static void Main()
        {

            StreamWriter logFile = new(logPath, append: true);

            var proccess = new Process
            {
                StartInfo = new ProcessStartInfo
                { 
                    FileName = "cmd.exe",
                    Arguments = "/c tsm start",
                    UseShellExecute = false,
                    RedirectStandardOutput = true
                }
            };
            proccess.Start();

            while (!proccess.StandardOutput.EndOfStream)
            {
                string output = proccess.StandardOutput.ReadToEnd();
                if (output.Contains("successfully executed"))
                {
                    logFile.WriteLine(DateTime.Now + " " + output);
                }
        }

把输出拆分出来,逐行写就可以了。

if (output.Contains("successfully executed"))
{
    var lines = output.Split(new [] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
    foreach (var line in lines)
    {
        logFile.WriteLine(DateTime.Now + " " + line);
    }
}