Изменён файл логов
This commit is contained in:
@@ -48,7 +48,7 @@ dotnet run --project src/Sms.TaskTwo.Avalonia/Sms.TaskTwo.Avalonia.csproj
|
||||
|
||||
Класс `Sms.TaskTwo.Core.Logging.ConsoleLog` — дублирует записи в консоль и файл.
|
||||
|
||||
По умолчанию для GUI: `logs/test-sms-wpf-app-yyyyMMdd.log`. При вызове `ConsoleLog.Open()` без имени — `test-sms-console-app-yyyyMMdd_HHmmss.log`.
|
||||
По умолчанию для GUI: `logs/test-sms-wpf-app-yyyyMMdd-hh:mm:ss.log` (на Windows двоеточия во времени заменяются на `-`). При вызове `ConsoleLog.Open()` без имени — `test-sms-console-app-yyyyMMdd_HHmmss.log`.
|
||||
|
||||
Пример строки:
|
||||
|
||||
|
||||
@@ -28,9 +28,13 @@ public static class ServiceCollectionExtensions
|
||||
{
|
||||
var options = serviceProvider.GetRequiredService<IOptions<LoggingOptions>>().Value;
|
||||
Directory.CreateDirectory(options.LogDirectory);
|
||||
var fileName = Path.Combine(
|
||||
options.LogDirectory,
|
||||
$"test-sms-wpf-app-{DateTime.Now:yyyyMMdd}.log");
|
||||
var timestamp = DateTime.Now.ToString("yyyyMMdd-hh:mm:ss");
|
||||
var logFileName = SanitizeFileName($"test-sms-wpf-app-{timestamp}.log");
|
||||
var fileName = Path.Combine(options.LogDirectory, logFileName);
|
||||
return ConsoleLog.Open(fileName);
|
||||
}
|
||||
|
||||
private static string SanitizeFileName(string fileName) =>
|
||||
string.Concat(fileName.Select(static c =>
|
||||
Path.GetInvalidFileNameChars().Contains(c) ? '-' : c));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user