Browse Source

Merge pull request #23305 from blackWins/cli

Add CleanLogsCommand
rel-10.3
Yunus Emre Kalkan 4 months ago
committed by GitHub
parent
commit
8b4f5c3cff
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      docs/en/cli/index.md
  2. 1
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/AbpCliCoreModule.cs
  3. 57
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/CleanLogsCommand.cs

10
docs/en/cli/index.md

@ -43,6 +43,7 @@ Here is the list of all available commands before explaining their details:
* **[`new-package`](../cli#new-package)**: Generates a new package based on the given template.
* **[`update`](../cli#update)**: Automatically updates all ABP related NuGet and NPM packages in a solution.
* **[`clean`](../cli#clean)**: Deletes all `BIN` and `OBJ` folders in the current folder.
* **[`clean-logs`](../cli#clean-logs)**: Delete all `*logs.txt` files in the current folder and its subfolders.
* **[`add-package`](../cli#add-package)**: Adds an ABP package to a project.
* **[`add-package-ref`](../cli#add-package-ref)**: Adds package to given project.
* **[`install-module`](../cli#install-module)**: Adds a [multi-package application module](../modules/index.md) to a given module.
@ -369,6 +370,15 @@ Usage:
````bash
abp clean
````
### clean-logs
Delete all `*logs.txt` files in the current folder and its subfolders.
Usage:
````bash
abp clean-logs
````
### add-package

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

@ -75,6 +75,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);

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

@ -0,0 +1,57 @@
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 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 the current folder and its subfolders.";
}
}
Loading…
Cancel
Save