Browse Source

Add CleanLogsCommand

pull/23305/head
blackWinds 1 year ago
parent
commit
043b035cf0
  1. 3
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs
  2. 59
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CleanLogsCommand.cs

3
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs

@ -1,4 +1,4 @@
using System.Text;
using System.Text;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Cli.Commands;
using Volo.Abp.Cli.Commands.Internal;
@ -67,6 +67,7 @@ public class AbpCliCoreModule : AbpModule
options.Commands[CreateMigrationAndRunMigratorCommand.Name] = typeof(CreateMigrationAndRunMigratorCommand);
options.Commands[InstallLibsCommand.Name] = typeof(InstallLibsCommand);
options.Commands[CleanCommand.Name] = typeof(CleanCommand);
options.Commands[CleanLogsCommand.Name] = typeof(CleanLogsCommand);
options.Commands[CliCommand.Name] = typeof(CliCommand);
options.Commands[ClearDownloadCacheCommand.Name] = typeof(ClearDownloadCacheCommand);
options.Commands[RecreateInitialMigrationCommand.Name] = typeof(RecreateInitialMigrationCommand);

59
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CleanLogsCommand.cs

@ -0,0 +1,59 @@
using System.IO;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Volo.Abp.Cli.Args;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.Cli.Commands;
public class CleanLogsCommand : IConsoleCommand, ITransientDependency
{
public const string Name = "clean-logs";
public ILogger<CleanCommand> Logger { get; set; }
public CleanLogsCommand(ILogger<CleanCommand> logger)
{
Logger = logger;
}
public Task ExecuteAsync(CommandLineArgs commandLineArgs)
{
var logsEntries = Directory.EnumerateDirectories(Directory.GetCurrentDirectory(), "Logs", SearchOption.AllDirectories);
Logger.LogInformation($"Removing 'Logs' files...");
foreach (var path in logsEntries)
{
var files = Directory.GetFiles(path, "*logs.txt");
foreach (var file in files)
{
Logger.LogInformation($"Deleting: {file}");
File.Delete(file);
}
}
Logger.LogInformation($"'Logs' files removed successfully!");
Logger.LogInformation("Logs cleaned successfully!");
return Task.CompletedTask;
}
public string GetUsageInfo()
{
var sb = new StringBuilder();
sb.AppendLine("");
sb.AppendLine("Usage:");
sb.AppendLine(" abp clean-logs");
sb.AppendLine("");
sb.AppendLine("See the documentation for more info: https://abp.io/docs/latest/cli");
return sb.ToString();
}
public static string GetShortDescription()
{
return "Delete all *logs.txt files in current folder.";
}
}
Loading…
Cancel
Save