/*功能描述:日志写入
* **/
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
namespace Function.Common
{
public class Log
{
private static string logFileInfo=AppDomain.CurrentDomain.BaseDirectory + @"log\"+System.DateTime.Now.ToString("yyyy-MM-dd")+"_infomation.txt";
private static string logFileExce = AppDomain.CurrentDomain.BaseDirectory + @"log\" + System.DateTime.Now.ToString("yyyy-MM-dd") + "_exception.txt";
/// <summary>
/// 日志写入
/// </summary>
/// <param name="info">写入内容</param>
public static void WriteInfo(string info)
{
StreamWriter writer = null;
FileStream fileStream = null;
try
{
CreateDirectory(logFileInfo);
System.IO.FileInfo fileInfo = new System.IO.FileInfo(logFileInfo);
if (!fileInfo.Exists)
{
fileStream = fileInfo.Create();
writer = new StreamWriter(fileStream);
}
else
{
fileStream = fileInfo.Open(FileMode.Append, FileAccess.Write);
writer = new StreamWriter(fileStream);
}
writer.WriteLine(DateTime.Now + ": " + info);
}
catch { }
finally
{
if (writer != null)
{
writer.Close();
writer.Dispose();
fileStream.Close();
fileStream.Dispose();
}
}
}
/// <summary>
/// 日志写入
/// </summary>
/// <param name="info">写入异常</param>
public static void WriteExce(string info)
{
StreamWriter writer = null;
FileStream fileStream = null;
try
{
CreateDirectory(logFileExce);
System.IO.FileInfo fileInfo = new System.IO.FileInfo(logFileExce);
if (!fileInfo.Exists)
{
fileStream = fileInfo.Create();
writer = new StreamWriter(fileStream);
}
else
{
fileStream = fileInfo.Open(FileMode.Append, FileAccess.Write);
writer = new StreamWriter(fileStream);
}
writer.WriteLine(DateTime.Now + ": " + info);
}
catch { }
finally
{
if (writer != null)
{
writer.Close();
writer.Dispose();
fileStream.Close();
fileStream.Dispose();
}
}
}
/// <summary>
/// 创建文件目录
/// </summary>
/// <param name="infoPath">目录名</param>
public static void CreateDirectory(string infoPath)
{
DirectoryInfo directoryInfo = Directory.GetParent(infoPath);
long length = GetFileLength(infoPath);
if ((int)length > 5)//文件大小超过5M自动删除,重新创建新文件
{
FileInfo file = new FileInfo(infoPath);
file.Delete();
}
if (!directoryInfo.Exists)
{
directoryInfo.Create();
}
}
#region 获取文件大小
/// <summary>
/// 获取文件大小
/// </summary>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
public static long GetFileLength(string filePath)
{
if (!File.Exists(filePath))
return 0;
long len = 0;
FileInfo fileInfo = new FileInfo(filePath);
len = fileInfo.Length/(1024*1024);//获取文件大小(M)
return len;
}
#endregion
}
}