public static class CreatLog
{
static string _filePath = AppDomain.CurrentDomain.BaseDirectory + "Log";
static Dictionary<DateTime, StreamWriter> _dicStreamWriter = new Dictionary<DateTime, StreamWriter>();
public static void WriteLog(string msg, bool bo)
{
var time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ff");
if (!Directory.Exists(_filePath))
{
Directory.CreateDirectory(_filePath);
}
DateTime fileName = DateTime.Now.Date;
try
{
if (!_dicStreamWriter.ContainsKey(fileName))
{
_dicStreamWriter.Add(fileName, File.AppendText(AppDomain.CurrentDomain.BaseDirectory + "Log\\" + fileName.ToString("yyyy-MM-dd") + ".txt"));
}
var dicTemp = _dicStreamWriter.Where(o => o.Key < fileName.AddDays(-1)).Select(o => o.Key).ToList();
foreach (DateTime item in dicTemp)
{
_dicStreamWriter.Remove(item);
}
_dicStreamWriter[fileName].Write($"【{time}】");
if (bo)
_dicStreamWriter[fileName].WriteLine($"消息【正常】:" + msg);
else
_dicStreamWriter[fileName].WriteLine($"消息【异常】:" + msg);
}
catch (IOException e)
{
_dicStreamWriter[fileName].WriteLine($"日志打印异常:{e.Message}");
}
finally
{
_dicStreamWriter[fileName].Flush();
}
}
}