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#
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)
|
|
{
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|