You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace demo.ClassHelper
{
/// <summary>
/// 对程序中产生的日志文件做删除处理,日志主要包括
///
/// 1、平台日志
/// 2、debug/error/info/日志
/// 3、
/// </summary>
public class LogDel
{
/// <summary>
/// 保留日期
/// </summary>
private const int RETAINDAYS = 3;
private string basedir = "D:\\log";
/// <summary>
/// 删除平台日志
/// </summary>
public void DelPlatLog()
{
try
{
DirectoryInfo di = new DirectoryInfo(basedir);
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
if(f.Extension==".log")
{
if ((DateTime.Now - f.LastAccessTime).TotalDays >= RETAINDAYS)
{
f.Delete();
}
}
}
}
catch (Exception ex)
{
}
}
/// <summary>
/// 删除log4net产生的日志
/// </summary>
public void Log4netLog()
{
try
{
string[] log4nets = new string[] { "Error","Info","Debug","Warning"};
foreach (string item in log4nets)
{
string dealdir = Path.Combine(basedir, item);
DirectoryInfo di = new DirectoryInfo(dealdir);
if(di.Exists)
{
DirectoryInfo[] dirs = di.GetDirectories();
foreach (DirectoryInfo subdir in dirs)
{
if ((DateTime.Now - subdir.LastAccessTime).TotalDays >= RETAINDAYS)
{
subdir.Delete(true);
}
}
}
}
}
catch (Exception ex)
{
}
}
/// <summary>
/// 删除通信日志
/// </summary>
public void CommunicationLog()
{
try
{
string[] log4nets = new string[] { "tc1", "tc2", "tc3", "tc4", "tc5", "tc6", "vision" };
foreach (string item in log4nets)
{
string dealdir = Path.Combine(basedir, "communicationlog", item);
DirectoryInfo di = new DirectoryInfo(dealdir);
if (di.Exists)
{
FileInfo[] files = di.GetFiles();
foreach (FileInfo f in files)
{
if ((DateTime.Now - f.LastAccessTime).TotalDays >= RETAINDAYS)
{
f.Delete();
}
}
}
}
}
catch (Exception ex)
{
}
}
}
}