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.

127 lines
4.2 KiB
C#

7 months ago
using Serilog;
using SlnMesnac.Serilog;
using System.Timers;
namespace SlnMesnac
{
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public class Program
{
//ɾ<><C9BE><EFBFBD><EFBFBD>־<EFBFBD><D6BE>ʱ<EFBFBD><CAB1>
private static System.Timers.Timer deleteLogTimer;
private static SerilogHelper? serilogHelper;
/// <summary>
/// Main<69><6E><EFBFBD><EFBFBD>
/// </summary>
/// <param name="args"></param>
public static void Main(string[] args)
{
var host = CreateHostBuilder(args).Build();
// host.Run();
var hostTask = host.RunAsync();
serilogHelper = host.Services.GetRequiredService<SerilogHelper>();
Console.WriteLine("==========================<3D>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD>AGV<47><56>ĿWeb Api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!==========================");
serilogHelper.Info("==========================<3D>Ϻ<EFBFBD><CFBA><EFBFBD><EFBFBD><EFBFBD>AGV<47><56>ĿWeb Api<70><69><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!==========================");
#region <20><>ʱɾ<CAB1><C9BE><EFBFBD><EFBFBD>־
//DeleteLogsLogic();
//deleteLogTimer = new System.Timers.Timer(24 * 60 * 60 * 1000);
//deleteLogTimer.Elapsed += OnTimedEvent;
//deleteLogTimer.AutoReset = true;
//deleteLogTimer.Enabled = true;
#endregion <20><>ʱɾ<CAB1><C9BE><EFBFBD><EFBFBD>־
while (true)
{
Console.ReadLine();
}
}
#region <20><>ʱɾ<CAB1><C9BE><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
/// <summary>
/// <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private static void OnTimedEvent(Object source, ElapsedEventArgs e)
{
DeleteLogsLogic();
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD>
/// </summary>
private static void DeleteLogsLogic()
{
try
{
// <20><>ȡ<EFBFBD><C8A1>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ¼<C4BF>µ<EFBFBD> Log <20>ļ<EFBFBD><C4BC><EFBFBD>
string logPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Logs");
// <20><><EFBFBD><EFBFBD> Log <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
if (!Directory.Exists(logPath))
{
// <20><><EFBFBD><EFBFBD> Log <20>ļ<EFBFBD><C4BC>в<EFBFBD><D0B2><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>־<EFBFBD><D6BE><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>
Console.WriteLine($"Log <20>ļ<EFBFBD><C4BC><EFBFBD> {logPath} <20><><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD>");
return;
}
// <20><>ȡ Log <20>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
string[] logDirectories = Directory.GetDirectories(logPath);
foreach (string directoryPath in logDirectories)
{
string directoryName = Path.GetFileName(directoryPath);
if (!string.IsNullOrEmpty(directoryName) && DateTime.TryParse(directoryName, out DateTime directoryDate))
{
// <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ
if (directoryDate < DateTime.Now.AddDays(-3))
{
try
{
// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
Directory.Delete(directoryPath, true);
Console.WriteLine($"<22><>ɾ<EFBFBD><C9BE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>: {directoryPath}");
}
catch (Exception ex)
{
// <20><>¼ɾ<C2BC><C9BE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><ECB3A3>Ϣ
Console.WriteLine($"ɾ<><C9BE><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> {directoryPath} ʱ<><CAB1><EFBFBD><EFBFBD>: {ex.Message}");
}
}
}
}
}
catch (Exception ex)
{
// <20><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3>Ϣ
Console.WriteLine($"ִ<><D6B4>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>־<EFBFBD>߼<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>: {ex.Message}");
}
}
#endregion <20><>ʱɾ<CAB1><C9BE><EFBFBD><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>
/// <summary>
/// CreateHostBuilder
/// </summary>
/// <param name="args"></param>
/// <returns></returns>
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog((context, config) =>
{
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseUrls("http://0.0.0.0:7024");
webBuilder.UseStartup<Startup>();
});
}
}