字符串太小,无法存储标准输出的进程

mit*_*llt 0 c# string logging

我指示进程的标准输出/错误并将其存储在我记录到文件的字符串中.

我注意到并非所有的标准输出都存储在文本文件中,所以我必须达到字符串的大小限制.

有谁知道有助于解决这个问题的替代方案?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Logging
{
    class Logger
    {
        private FileStream file = null;
        private StreamWriter writer = null;

        public Logger(string _path)
        {
            if (!File.Exists(_path)) File.Create(_path).Dispose();

            file = new FileStream(_path, FileMode.Append, FileAccess.Write, FileShare.Write);
            writer = new StreamWriter(file);
        }

        public void Log(string _text)
        {
            Console.WriteLine(_text);
            using (file)
            {
                writer.WriteLine("[" + DateTime.Now + "] : " +  _text);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 5

        using (file)
Run Code Online (Sandbox Code Playgroud)

你刚刚丢弃了你的文件.你不能再写了.