diff --git a/src/Admin/entrypoint.sh b/src/Admin/entrypoint.sh index b987b3779..08068dcb1 100644 --- a/src/Admin/entrypoint.sh +++ b/src/Admin/entrypoint.sh @@ -12,6 +12,7 @@ fi chown -R bitwarden:bitwarden /app mkdir -p /etc/bitwarden/core +mkdir -p /etc/bitwarden/logs chown -R bitwarden:bitwarden /etc/bitwarden gosu bitwarden:bitwarden dotnet /app/Admin.dll diff --git a/src/Api/entrypoint.sh b/src/Api/entrypoint.sh index 9b5501f64..8349979e2 100644 --- a/src/Api/entrypoint.sh +++ b/src/Api/entrypoint.sh @@ -15,6 +15,7 @@ chown bitwarden:bitwarden /var/log/cron.log chown -R bitwarden:bitwarden /app chown -R bitwarden:bitwarden /jobs mkdir -p /etc/bitwarden/core +mkdir -p /etc/bitwarden/logs chown -R bitwarden:bitwarden /etc/bitwarden env >> /etc/environment diff --git a/src/Core/Utilities/LoggerFactoryExtensions.cs b/src/Core/Utilities/LoggerFactoryExtensions.cs index 205fa8b59..face7b0f0 100644 --- a/src/Core/Utilities/LoggerFactoryExtensions.cs +++ b/src/Core/Utilities/LoggerFactoryExtensions.cs @@ -17,44 +17,45 @@ namespace Bit.Core.Utilities GlobalSettings globalSettings, Func filter = null) { - if(!env.IsDevelopment()) + if(env.IsDevelopment()) { - if(filter == null) - { - filter = (e) => true; - } - - var config = new LoggerConfiguration() - .Enrich.FromLogContext() - .Filter.ByIncludingOnly(filter); - - if(CoreHelpers.SettingHasValue(globalSettings?.DocumentDb.Uri) && - CoreHelpers.SettingHasValue(globalSettings?.DocumentDb.Key)) - { - config.WriteTo.AzureDocumentDB(new Uri(globalSettings.DocumentDb.Uri), - globalSettings.DocumentDb.Key, timeToLive: TimeSpan.FromDays(7)); - } - else if(CoreHelpers.SettingHasValue(globalSettings?.Sentry.Dsn)) - { - config.WriteTo.Sentry(globalSettings.Sentry.Dsn) - .Enrich.FromLogContext() - .Enrich.WithProperty("Project", globalSettings.ProjectName) - .Destructure.With() - .Filter.ByExcluding(e => e.Exception?.CheckIfCaptured() == true); - - appBuilder.AddSentryContext(); - } - else if(CoreHelpers.SettingHasValue(globalSettings.LogDirectory)) - { - config.WriteTo.RollingFile( - $"{globalSettings.LogDirectory}/{globalSettings.ProjectName}/{{Date}}.txt"); - } - - var serilog = config.CreateLogger(); - factory.AddSerilog(serilog); - appLifetime.ApplicationStopped.Register(Log.CloseAndFlush); + return factory; } + if(filter == null) + { + filter = (e) => true; + } + + var config = new LoggerConfiguration() + .Enrich.FromLogContext() + .Filter.ByIncludingOnly(filter); + + if(CoreHelpers.SettingHasValue(globalSettings?.DocumentDb.Uri) && + CoreHelpers.SettingHasValue(globalSettings?.DocumentDb.Key)) + { + config.WriteTo.AzureDocumentDB(new Uri(globalSettings.DocumentDb.Uri), + globalSettings.DocumentDb.Key, timeToLive: TimeSpan.FromDays(7)); + } + else if(CoreHelpers.SettingHasValue(globalSettings?.Sentry.Dsn)) + { + config.WriteTo.Sentry(globalSettings.Sentry.Dsn) + .Enrich.FromLogContext() + .Enrich.WithProperty("Project", globalSettings.ProjectName) + .Destructure.With() + .Filter.ByExcluding(e => e.Exception?.CheckIfCaptured() == true); + + appBuilder.AddSentryContext(); + } + else if(CoreHelpers.SettingHasValue(globalSettings.LogDirectory)) + { + config.WriteTo.RollingFile($"{globalSettings.LogDirectory}/{globalSettings.ProjectName}/{{Date}}.txt"); + } + + var serilog = config.CreateLogger(); + factory.AddSerilog(serilog); + appLifetime.ApplicationStopped.Register(Log.CloseAndFlush); + return factory; } } diff --git a/src/Icons/Startup.cs b/src/Icons/Startup.cs index 02321dc4f..2ae874036 100644 --- a/src/Icons/Startup.cs +++ b/src/Icons/Startup.cs @@ -1,6 +1,5 @@ using System; using Bit.Icons.Services; -using Microsoft.ApplicationInsights.Extensibility; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; diff --git a/src/Identity/entrypoint.sh b/src/Identity/entrypoint.sh index e5d2149fc..5eadc01c8 100644 --- a/src/Identity/entrypoint.sh +++ b/src/Identity/entrypoint.sh @@ -12,6 +12,7 @@ fi mkdir -p /etc/bitwarden/identity mkdir -p /etc/bitwarden/core +mkdir -p /etc/bitwarden/logs chown -R bitwarden:bitwarden /etc/bitwarden cp /etc/bitwarden/identity/identity.pfx /app/identity.pfx diff --git a/util/Setup/DockerComposeBuilder.cs b/util/Setup/DockerComposeBuilder.cs index 2aee2b48a..ae805a1bb 100644 --- a/util/Setup/DockerComposeBuilder.cs +++ b/util/Setup/DockerComposeBuilder.cs @@ -101,7 +101,8 @@ services: else { sw.Write(@" - - ../mssql/data:/var/opt/mssql/data"); + - ../mssql/data:/var/opt/mssql/data + - ../logs/mssql:/var/opt/mssql/log"); } sw.Write($@" @@ -135,6 +136,7 @@ services: restart: always volumes: - ../core:/etc/bitwarden/core + - ../logs/api:/etc/bitwarden/logs env_file: - global.env - ../env/uid.env @@ -147,6 +149,7 @@ services: volumes: - ../identity:/etc/bitwarden/identity - ../core:/etc/bitwarden/core + - ../logs/identity:/etc/bitwarden/logs env_file: - global.env - ../env/uid.env @@ -158,6 +161,7 @@ services: restart: always volumes: - ../core:/etc/bitwarden/core + - ../logs/admin:/etc/bitwarden/logs env_file: - global.env - ../env/uid.env @@ -181,7 +185,7 @@ services: - ../nginx:/etc/bitwarden/nginx - ../letsencrypt:/etc/letsencrypt - ../ssl:/etc/ssl - - ../core/logs/nginx:/var/log/nginx + - ../logs/nginx:/var/log/nginx env_file: - ../env/uid.env"); diff --git a/util/Setup/EnvironmentFileBuilder.cs b/util/Setup/EnvironmentFileBuilder.cs index 403eddcf2..2e32c8ac6 100644 --- a/util/Setup/EnvironmentFileBuilder.cs +++ b/util/Setup/EnvironmentFileBuilder.cs @@ -46,7 +46,7 @@ namespace Bit.Setup ["globalSettings__attachment__baseDirectory"] = $"{OutputDirectory}/core/attachments", ["globalSettings__attachment__baseUrl"] = $"{Url}/attachments", ["globalSettings__dataProtection__directory"] = $"{OutputDirectory}/core/aspnet-dataprotection", - ["globalSettings__logDirectory"] = $"{OutputDirectory}/core/logs", + ["globalSettings__logDirectory"] = $"{OutputDirectory}/logs", ["globalSettings__licenseDirectory"] = $"{OutputDirectory}/core/licenses", ["globalSettings__duo__aKey"] = $"{Helpers.SecureRandomString(64, alpha: true, numeric: true)}", ["globalSettings__installation__id"] = InstallationId?.ToString(),