From a49151f552bf10f80bd73fcd6c13ff74005a563d Mon Sep 17 00:00:00 2001 From: Ronald Barendse Date: Mon, 12 Dec 2022 09:11:44 +0100 Subject: [PATCH] Change GetAbsoluteLoggingPath to extension method --- .../LoggingSettingsExtensions.cs | 33 +++++++++++++++++++ .../Configuration/Models/LoggingSettings.cs | 25 +++++--------- 2 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 src/Umbraco.Core/Configuration/LoggingSettingsExtensions.cs diff --git a/src/Umbraco.Core/Configuration/LoggingSettingsExtensions.cs b/src/Umbraco.Core/Configuration/LoggingSettingsExtensions.cs new file mode 100644 index 0000000000..0489a9646d --- /dev/null +++ b/src/Umbraco.Core/Configuration/LoggingSettingsExtensions.cs @@ -0,0 +1,33 @@ +// Copyright (c) Umbraco. +// See LICENSE for more details. + +using Microsoft.Extensions.Hosting; +using Umbraco.Cms.Core.Configuration.Models; +using Umbraco.Cms.Core.Extensions; + +namespace Umbraco.Extensions; + +/// +/// Extension methods for . +/// +public static class LoggingSettingsExtensions +{ + /// + /// Gets the absolute logging path (maps a virtual path to the applications content root). + /// + /// The logging settings. + /// The host environment. + /// + /// The absolute logging path. + /// + public static string GetAbsoluteLoggingPath(this LoggingSettings loggingSettings, IHostEnvironment hostEnvironment) + { + var dir = loggingSettings.Directory; + if (dir.StartsWith("~/")) + { + return hostEnvironment.MapPathContentRoot(dir); + } + + return dir; + } +} diff --git a/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs b/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs index 90498991a4..0489d895b8 100644 --- a/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs +++ b/src/Umbraco.Core/Configuration/Models/LoggingSettings.cs @@ -2,13 +2,11 @@ // See LICENSE for more details. using System.ComponentModel; -using Microsoft.Extensions.Hosting; -using Umbraco.Cms.Core.Extensions; namespace Umbraco.Cms.Core.Configuration.Models; /// -/// Typed configuration options for logging settings. +/// Typed configuration options for logging settings. /// [UmbracoOptions(Constants.Configuration.ConfigLogging)] public class LoggingSettings @@ -17,25 +15,20 @@ public class LoggingSettings internal const string StaticDirectory = Constants.SystemDirectories.LogFiles; /// - /// Gets or sets a value for the maximum age of a log file. + /// Gets or sets a value for the maximum age of a log file. /// + /// + /// The maximum log age. + /// [DefaultValue(StaticMaxLogAge)] public TimeSpan MaxLogAge { get; set; } = TimeSpan.Parse(StaticMaxLogAge); /// - /// Gets or sets the folder to use for log files + /// Gets or sets the folder to use for log files. /// + /// + /// The directory. + /// [DefaultValue(StaticDirectory)] public string Directory { get; set; } = StaticDirectory; - - public string GetAbsoluteLoggingPath(IHostEnvironment hostEnvironment) - { - var dir = Directory; - if (dir.StartsWith("~/")) - { - return hostEnvironment.MapPathContentRoot(dir); - } - - return dir; - } }