From d270311393891215a7d93337f2f9d6071628e3c7 Mon Sep 17 00:00:00 2001 From: Kyle Spearrin Date: Fri, 22 Nov 2019 10:33:57 -0500 Subject: [PATCH] config for rolling log files by size limit --- src/Core/GlobalSettings.cs | 1 + src/Core/Utilities/LoggerFactoryExtensions.cs | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Core/GlobalSettings.cs b/src/Core/GlobalSettings.cs index 92589069aa..18f48d25d5 100644 --- a/src/Core/GlobalSettings.cs +++ b/src/Core/GlobalSettings.cs @@ -10,6 +10,7 @@ namespace Bit.Core public virtual string StripeApiKey { get; set; } public virtual string ProjectName { get; set; } public virtual string LogDirectory { get; set; } + public virtual long? LogRoleBySizeLimit { get; set; } public virtual string LicenseDirectory { get; set; } public string LicenseCertificatePassword { get; set; } public virtual string PushRelayBaseUri { get; set; } diff --git a/src/Core/Utilities/LoggerFactoryExtensions.cs b/src/Core/Utilities/LoggerFactoryExtensions.cs index e0e09249e2..b527020295 100644 --- a/src/Core/Utilities/LoggerFactoryExtensions.cs +++ b/src/Core/Utilities/LoggerFactoryExtensions.cs @@ -18,7 +18,7 @@ namespace Bit.Core.Utilities { if(env.IsDevelopment()) { - return; + return; } if(CoreHelpers.SettingHasValue(globalSettings?.Sentry.Dsn)) @@ -35,7 +35,7 @@ namespace Bit.Core.Utilities { if(context.HostingEnvironment.IsDevelopment()) { - return builder; + return builder; } bool inclusionPredicate(LogEvent e) @@ -77,7 +77,18 @@ namespace Bit.Core.Utilities } else if(CoreHelpers.SettingHasValue(globalSettings.LogDirectory)) { - config.WriteTo.RollingFile($"{globalSettings.LogDirectory}/{globalSettings.ProjectName}/{{Date}}.txt") + if(globalSettings.LogRoleBySizeLimit.HasValue) + { + config.WriteTo + .RollingFile($"{globalSettings.LogDirectory}/{globalSettings.ProjectName}/log.txt", + fileSizeLimitBytes: globalSettings.LogRoleBySizeLimit); + } + else + { + config.WriteTo + .RollingFile($"{globalSettings.LogDirectory}/{globalSettings.ProjectName}/{{Date}}.txt"); + } + config .Enrich.FromLogContext() .Enrich.WithProperty("Project", globalSettings.ProjectName); }