using System;
using System.IO;
using System.Text;
namespace PrintLog
{
public class Util
{
/*
* 在这里使用单例模式有几个好处:
* 1.保证了全局对象的唯一性
* 2.保证了线程安全
*/
public static readonly FaceLog Instance = new FaceLog();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
public static FaceLog GetInstance()
{
return Instance;
}
#region 公共属性
public string FileStartupPath
{
//获取当前运行程序的目录
get { return Environment.CurrentDirectory; }
}
public string FileLogName
{
get
{
// 文件全路径
return FileStartupPath + @"\Logs\Info_" + DateTime.Now.ToString("yyyyMMdd") + ".txt";
}
}
#endregion
/// <summary>
/// 写入内容
/// </summary>
/// <param name="infoMsg">要写入的信息</param>
public void AppendInfoLog(string infoMsg)
{
string Folder = FileStartupPath + @"\Logs";
if (!System.IO.Directory.Exists(Folder))
System.IO.Directory.CreateDirectory(Folder);
using (TextWriter fw = new StreamWriter(FileInfoName, true))
{
try
{
FileInfo fi = new FileInfo(FileInfoName);
//判断文件内是否有内容
if (fi.Length == 0)
{
fw.WriteLine("这是第一次写入内容");
}
fw.WriteLine("===========" + DateTime.Now.ToString() + "===========");
fw.WriteLine(infoMsg);
fw.WriteLine("======================");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
fw.Close();
fw.Dispose();
}
}
}
}
}