C#写日志
2016-03-04 10:23
477 查看
public void WriteLog(string context)
{
if (!string.IsNullOrEmpty(logFilePath))
{
FileStream fileStream = null;
if (File.Exists(logFilePath))
{
fileStream = new FileStream(logFilePath, FileMode.Append, FileAccess.Write);
}
else
{
Directory.CreateDirectory(logFilePath.Substring(0, logFilePath.LastIndexOf("\\")));
fileStream = new FileStream(logFilePath, FileMode.Create, FileAccess.Write);
}
StreamWriter writer = new StreamWriter(fileStream);
try
{
FileInfo fi = new FileInfo(logFilePath);
string fileName;
if (fi.Length >= 1024 * 1024 * 5)
{
fileName = fi.FullName.Substring(0, fi.FullName.Length - 4) + "." + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(logFilePath);
writer.Close();
if (!File.Exists(fileName))
{
File.Move(logFilePath, fileName);
writer = File.CreateText(logFilePath);
}
else
writer = File.AppendText(logFilePath);
}
writer.WriteLine(string.Empty.PadLeft(20, '=') + DateTime.Now.ToString() + string.Empty.PadLeft(20, '='));
writer.WriteLine(context);
writer.Flush();
writer.Close();
}
finally
{
fileStream.Close();
writer.Close();
}
}
}
{
if (!string.IsNullOrEmpty(logFilePath))
{
FileStream fileStream = null;
if (File.Exists(logFilePath))
{
fileStream = new FileStream(logFilePath, FileMode.Append, FileAccess.Write);
}
else
{
Directory.CreateDirectory(logFilePath.Substring(0, logFilePath.LastIndexOf("\\")));
fileStream = new FileStream(logFilePath, FileMode.Create, FileAccess.Write);
}
StreamWriter writer = new StreamWriter(fileStream);
try
{
FileInfo fi = new FileInfo(logFilePath);
string fileName;
if (fi.Length >= 1024 * 1024 * 5)
{
fileName = fi.FullName.Substring(0, fi.FullName.Length - 4) + "." + DateTime.Now.ToString("yyyyMMddHHmmss") + Path.GetExtension(logFilePath);
writer.Close();
if (!File.Exists(fileName))
{
File.Move(logFilePath, fileName);
writer = File.CreateText(logFilePath);
}
else
writer = File.AppendText(logFilePath);
}
writer.WriteLine(string.Empty.PadLeft(20, '=') + DateTime.Now.ToString() + string.Empty.PadLeft(20, '='));
writer.WriteLine(context);
writer.Flush();
writer.Close();
}
finally
{
fileStream.Close();
writer.Close();
}
}
}
相关文章推荐
- C#中的static静态变量的用法
- C#选择文件、选择文件夹、打开文件(或者文件夹)
- c#使用类库编写word插件注意事项
- 谈谈C# replace在正则表达式中的意义
- C#计算两个日期之间相差的天数
- VS中C#工程加载动态库报错
- c#使用正则表达式
- C#中正则表达式在replace中的应用!
- C#总结(1)-从抚摸“Console.WriteLine”开始的逐渐深入
- C# 代码生成器 (存储过程生成方法)
- 【C#进阶系列】05 基元类型、引用类型和值类型
- C# 文件操作类集合(三) INI相关
- C# 文件操作类集合(二) 文件处理
- C# 文件操作类集合(一) 路径
- C#测试题
- DevExpress中关于GridControl控件的一些常用属性设置方法
- 设计模式----组合模式(C#)
- C# 枚举与结构
- C# 参数传递行为
- C#的Reflection总结