using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
|
namespace Utility.Tools
|
{
|
public static class LogFile
|
{
|
/// <summary>写LOG到本地文件方法,message="存入信息",path="存储路径"</summary>
|
public static void SaveLogToFile(string message, string path = "./log/defaultlog.txt")
|
{
|
FileInfo fi = null;
|
StreamWriter logWriter = null;
|
try
|
{
|
int fileLength = 1024 * 1024 * 5;//5MB
|
fi = new FileInfo(path);
|
if (!fi.Directory.Exists) { fi.Directory.Create(); }
|
if (fi.Exists && fi.Length > fileLength)
|
{
|
string newpath = path.Insert(path.LastIndexOf('.'), "_" + DateTime.Now.ToString("HHmmss"));
|
File.Move(path, newpath);
|
}
|
logWriter = new StreamWriter(path, true);
|
logWriter.WriteLine(DateTime.Now.ToString() + ">>>" + message);
|
logWriter.WriteLine("----->.");
|
}
|
catch (Exception ex)
|
{
|
//throw ex;
|
}
|
finally
|
{
|
fi = null;
|
if (logWriter != null)
|
{
|
logWriter.Close();
|
logWriter.Dispose();
|
}
|
}
|
}
|
//<summary>删除指定日期文件,保留7天</summary>
|
public static void DeleteLogs(string Path, int days = 7)
|
{
|
//日志保留时长 单位:天
|
|
if (days<7)
|
{
|
days = 7;
|
}
|
|
try
|
{
|
if (!Directory.Exists(Path))
|
{
|
return;
|
}
|
var now = DateTime.Now;
|
foreach (var f in Directory.GetFileSystemEntries(Path).Where(f => File.Exists(f)))
|
{
|
var t = File.GetCreationTime(f);
|
var elapsedTicks = now.Ticks - t.Ticks;
|
var elaspsedSpan = new TimeSpan(elapsedTicks);
|
if (elaspsedSpan.TotalDays > days)
|
{
|
File.Delete(f);
|
}
|
}
|
}
|
catch (Exception ex)
|
{
|
|
}
|
}
|
}
|
}
|