【发布时间】:2016-04-05 22:58:18
【问题描述】:
我创建了一个 fileStream 和一个 streamwriter 来写入。问题是我的文件没有显示任何文本。对象已正确实例化,路径和所有内容都已写入,只是看不到任何写入内容。也许是streamwriter的问题?
public class Logger {
StreamWriter sw;
FileStream logFileStream;
public enum LogLevel
{
Low,
Medium,
High
};
public Logger(string filePath)
{
//logStream = new StreamWriter(logFilePath, false);
logFileStream = new FileStream(filePath, FileMode.Open, FileAccess.Write);
sw = new StreamWriter(logFileStream);
}
public void LogMessage(string message) {
LogMessage(message, LogLevel.Low, false);
}
public void LogMessage(string message, LogLevel level, bool excludeFromLogFile){
var prefix = string.Empty;
ConsoleColor color = ConsoleColor.White;
switch (level)
{
case LogLevel.Medium:
prefix = "?";
color = ConsoleColor.Yellow;
break;
case LogLevel.High:
prefix = "!";
color = ConsoleColor.Red;
break;
}
if (!excludeFromLogFile)
{
sw.WriteLine("{0} {1} {2}", prefix, DateTime.Now, message);
}
Console.ForegroundColor = color;
Console.WriteLine("{0}", message);
Console.ResetColor();
}
我正在实例化这个类,然后调用 logger.LogMessage("poop", Logger.LogLevel.High, false); 并没有显示任何内容。
谢谢
【问题讨论】:
-
您的记录器类使
FileStream和StreamWriter保持打开状态。在您调用Dispose之前,数据通常不会被刷新。
标签: c# .net filestream