File.AppendAllText vs StreamWriter

时间:2011-12-05 04:20:16

标签: c# logging

我想创建一个日志文件来跟踪我的Application中的一些操作。在我的场景中,我想在一个会话中每分钟至少记录50次。目前我正在使用StremWriter来创建日志文件。

 public static StreamWriter InitializeStream(string path)
    {
        /*ensuring whether thread safe or not*/
        lock (mylock)
        {
            if (null == _stream)
            {
                var fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite);
                _stream = new StreamWriter(fileStream);                    

                return _stream;
            }
            return _stream;
        }
    }

//logging operation
StreamHandler.Log(path)

仍然有点混淆选择AppendAllText或StreamWriter。 使用AppendAllText直接获得优势而不是StreamWriter方式?(性能)

1 个答案:

答案 0 :(得分:5)

不要在循环中使用AppendAllText(),因为它在内部使用StremWriter,其中流对象将在每次迭代时被初始化和处理。