Skip to content

Commit

Permalink
Merge pull request #297 from serilog/dev
Browse files Browse the repository at this point in the history
Creating release 5.5.0
  • Loading branch information
ckadluba authored Jun 9, 2020
2 parents 5dabed5 + 0fd036f commit 64dc4d5
Show file tree
Hide file tree
Showing 85 changed files with 3,036 additions and 697 deletions.
7 changes: 7 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
# 5.5.0
* Implemented enhancement #208: use Microsoft.Data.SqliClient for all platforms except net452 to enable Column Encryption (thanks to @mungk for the contribution).
* Fixed issue #290 MissingMethodException with .NET Standard 2.0.
* Added .NET Standard 2.0 sample program.
* Minor bug fixes.
* Completed overall refactoring and added unit tests for all refactored code.

# 5.4.0
* Added support for Azure Managed Identities for Resources authentication (thanks to @darrenschwarz for the contribution).
* New interface using `SinkOptions` parameter. Marked old interfaces obsolete.
Expand Down
2 changes: 1 addition & 1 deletion sample/AppConfigDemo/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.1.3.0" newVersion="3.1.3.0" />
<bindingRedirect oldVersion="0.0.0.0-3.1.4.0" newVersion="3.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
Expand Down
8 changes: 4 additions & 4 deletions sample/AppConfigDemo/AppConfigDemo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=3.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Extensions.Configuration.Abstractions.3.1.3\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=3.1.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Extensions.Configuration.Abstractions.3.1.4\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=3.1.3.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Extensions.Primitives.3.1.3\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
<Reference Include="Microsoft.Extensions.Primitives, Version=3.1.4.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\..\packages\Microsoft.Extensions.Primitives.3.1.4\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\..\packages\Serilog.2.9.0\lib\net46\Serilog.dll</HintPath>
Expand Down
4 changes: 2 additions & 2 deletions sample/AppConfigDemo/packages.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.3" targetFramework="net461" />
<package id="Microsoft.Extensions.Primitives" version="3.1.3" targetFramework="net461" />
<package id="Microsoft.Extensions.Configuration.Abstractions" version="3.1.4" targetFramework="net461" />
<package id="Microsoft.Extensions.Primitives" version="3.1.4" targetFramework="net461" />
<package id="Serilog" version="2.9.0" targetFramework="net461" />
<package id="Serilog.Settings.AppSettings" version="2.2.2" targetFramework="net461" />
<package id="System.Buffers" version="4.5.1" targetFramework="net461" />
Expand Down
2 changes: 1 addition & 1 deletion sample/CombinedConfigDemo/CombinedConfigDemo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.3" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.4" />
</ItemGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\NetStandardDemoLib\NetStandardDemoLib.csproj" />
</ItemGroup>

</Project>
23 changes: 23 additions & 0 deletions sample/NetStandardDemo/NetStandardDemoApp/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
using System;
using System.Threading;
using NetStandardDemoLib;
using Serilog;

namespace NetStandardDemoApp
{
public static class Program
{
public static void Main()
{
Log.Logger = Initializer.CreateLoggerConfiguration().CreateLogger();

Log.Debug("Getting started");

Log.Information("Hello {Name} from thread {ThreadId}", Environment.GetEnvironmentVariable("USERNAME"), Thread.CurrentThread.ManagedThreadId);

Log.Warning("No coins remain at position {@Position}", new { Lat = 25, Long = 134 });

Log.CloseAndFlush();
}
}
}
62 changes: 62 additions & 0 deletions sample/NetStandardDemo/NetStandardDemoLib/Initializer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
using System.Collections.ObjectModel;
using System.Data;
using Serilog;
using Serilog.Events;
using Serilog.Sinks.MSSqlServer;
using Serilog.Sinks.MSSqlServer.Sinks.MSSqlServer.Options;

namespace NetStandardDemoLib
{
public static class Initializer
{
private const string _connectionString = "Server=localhost;Database=LogTest;Integrated Security=SSPI;";
private const string _tableName = "LogEvents";

public static LoggerConfiguration CreateLoggerConfiguration()
{
return new LoggerConfiguration()
.Enrich.FromLogContext()
.WriteTo.MSSqlServer(
_connectionString,
new SinkOptions
{
TableName = _tableName,
AutoCreateSqlTable = true
},
sinkOptionsSection: null,
appConfiguration: null,
restrictedToMinimumLevel: LevelAlias.Minimum,
formatProvider: null,
columnOptions: BuildColumnOptions(),
columnOptionsSection: null,
logEventFormatter: null);

}

private static ColumnOptions BuildColumnOptions()
{
var columnOptions = new ColumnOptions
{
TimeStamp =
{
ColumnName = "TimeStampUTC",
ConvertToUtc = true,
},

AdditionalColumns = new Collection<SqlColumn>
{
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "MachineName" },
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "ProcessName" },
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "ThreadId" },
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "CallerName" },
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "SourceFile" },
new SqlColumn { DataType = SqlDbType.NVarChar, ColumnName = "LineNumber" }
}
};

columnOptions.Store.Remove(StandardColumn.Properties);

return columnOptions;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<ProjectReference Include="..\..\..\src\Serilog.Sinks.MSSqlServer\Serilog.Sinks.MSSqlServer.csproj" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion sample/WorkerServiceDemo/WorkerServiceDemo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.3" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="3.1.4" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="3.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="3.1.0" />
</ItemGroup>
Expand Down
17 changes: 17 additions & 0 deletions serilog-sinks-mssqlserver.sln
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,12 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
README.md = README.md
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetStandardDemoLib", "sample\NetStandardDemo\NetStandardDemoLib\NetStandardDemoLib.csproj", "{8E69E31B-61C7-4175-B886-9C2078FCA477}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NetStandardDemoApp", "sample\NetStandardDemo\NetStandardDemoApp\NetStandardDemoApp.csproj", "{F908C46D-E72E-41E4-975D-73733294F93F}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "NetStandardDemo", "NetStandardDemo", "{7B2B80DE-427A-4FEC-A7CE-7AD81FED73DE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -60,6 +66,14 @@ Global
{98F21125-AF7A-46E8-8C08-E3E4F5DBEDB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{98F21125-AF7A-46E8-8C08-E3E4F5DBEDB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{98F21125-AF7A-46E8-8C08-E3E4F5DBEDB9}.Release|Any CPU.Build.0 = Release|Any CPU
{8E69E31B-61C7-4175-B886-9C2078FCA477}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8E69E31B-61C7-4175-B886-9C2078FCA477}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8E69E31B-61C7-4175-B886-9C2078FCA477}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E69E31B-61C7-4175-B886-9C2078FCA477}.Release|Any CPU.Build.0 = Release|Any CPU
{F908C46D-E72E-41E4-975D-73733294F93F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F908C46D-E72E-41E4-975D-73733294F93F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F908C46D-E72E-41E4-975D-73733294F93F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F908C46D-E72E-41E4-975D-73733294F93F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -71,6 +85,9 @@ Global
{7DC530B1-68FD-4F07-A2F9-910C338562C1} = {AA346332-5BAF-47F1-B8FB-7600ED61265D}
{04F523D9-F00B-4C63-9287-31A244378E06} = {AA346332-5BAF-47F1-B8FB-7600ED61265D}
{98F21125-AF7A-46E8-8C08-E3E4F5DBEDB9} = {AA346332-5BAF-47F1-B8FB-7600ED61265D}
{8E69E31B-61C7-4175-B886-9C2078FCA477} = {7B2B80DE-427A-4FEC-A7CE-7AD81FED73DE}
{F908C46D-E72E-41E4-975D-73733294F93F} = {7B2B80DE-427A-4FEC-A7CE-7AD81FED73DE}
{7B2B80DE-427A-4FEC-A7CE-7AD81FED73DE} = {AA346332-5BAF-47F1-B8FB-7600ED61265D}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {AAA6BF8D-7B53-4A5F-A79A-D1B306383B45}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,13 @@ public static LoggerConfiguration MSSqlServer(
return loggerConfiguration.MSSqlServer(
connectionString: connectionString,
sinkOptions: sinkOptions,
sinkOptionsSection: null,
appConfiguration: appConfiguration,
restrictedToMinimumLevel: restrictedToMinimumLevel,
formatProvider: formatProvider,
columnOptions: columnOptions,
columnOptionsSection: columnOptionsSection,
logEventFormatter: logEventFormatter,
sinkOptionsSection: null);
logEventFormatter: logEventFormatter);
}

/// <summary>
Expand All @@ -96,26 +96,26 @@ public static LoggerConfiguration MSSqlServer(
/// <param name="loggerConfiguration">The logger configuration.</param>
/// <param name="connectionString">The connection string to the database where to store the events.</param>
/// <param name="sinkOptions">Supplies additional settings for the sink</param>
/// <param name="sinkOptionsSection">A config section defining additional settings for the sink</param>
/// <param name="appConfiguration">Additional application-level configuration. Required if connectionString is a name.</param>
/// <param name="restrictedToMinimumLevel">The minimum log event level required in order to write an event to the sink.</param>
/// <param name="formatProvider">Supplies culture-specific formatting information, or null.</param>
/// <param name="columnOptions">An externally-modified group of column settings</param>
/// <param name="columnOptionsSection">A config section defining various column settings</param>
/// <param name="logEventFormatter">Supplies custom formatter for the LogEvent column, or null</param>
/// <param name="sinkOptionsSection">A config section defining additional settings for the sink</param>
/// <returns>Logger configuration, allowing configuration to continue.</returns>
/// <exception cref="ArgumentNullException">A required parameter is null.</exception>
public static LoggerConfiguration MSSqlServer(
this LoggerSinkConfiguration loggerConfiguration,
string connectionString,
SinkOptions sinkOptions = null,
IConfigurationSection sinkOptionsSection = null,
IConfiguration appConfiguration = null,
LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum,
IFormatProvider formatProvider = null,
ColumnOptions columnOptions = null,
IConfigurationSection columnOptionsSection = null,
ITextFormatter logEventFormatter = null,
IConfigurationSection sinkOptionsSection = null)
ITextFormatter logEventFormatter = null)
{
if (loggerConfiguration == null)
throw new ArgumentNullException(nameof(loggerConfiguration));
Expand Down Expand Up @@ -170,13 +170,13 @@ public static LoggerConfiguration MSSqlServer(
return loggerAuditSinkConfiguration.MSSqlServer(
connectionString: connectionString,
sinkOptions: sinkOptions,
sinkOptionsSection: null,
appConfiguration: appConfiguration,
restrictedToMinimumLevel: restrictedToMinimumLevel,
formatProvider: formatProvider,
columnOptions: columnOptions,
columnOptionsSection: columnOptionsSection,
logEventFormatter: logEventFormatter,
sinkOptionsSection: null);
logEventFormatter: logEventFormatter);
}

/// <summary>
Expand All @@ -185,26 +185,26 @@ public static LoggerConfiguration MSSqlServer(
/// <param name="loggerAuditSinkConfiguration">The logger configuration.</param>
/// <param name="connectionString">The connection string to the database where to store the events.</param>
/// <param name="sinkOptions">Supplies additional settings for the sink</param>
/// <param name="sinkOptionsSection">A config section defining additional settings for the sink</param>
/// <param name="appConfiguration">Additional application-level configuration. Required if connectionString is a name.</param>
/// <param name="restrictedToMinimumLevel">The minimum log event level required in order to write an event to the sink.</param>
/// <param name="formatProvider">Supplies culture-specific formatting information, or null.</param>
/// <param name="columnOptions">An externally-modified group of column settings</param>
/// <param name="columnOptionsSection">A config section defining various column settings</param>
/// <param name="logEventFormatter">Supplies custom formatter for the LogEvent column, or null</param>
/// <param name="sinkOptionsSection">A config section defining additional settings for the sink</param>
/// <returns>Logger configuration, allowing configuration to continue.</returns>
/// <exception cref="ArgumentNullException">A required parameter is null.</exception>
public static LoggerConfiguration MSSqlServer(
this LoggerAuditSinkConfiguration loggerAuditSinkConfiguration,
string connectionString,
SinkOptions sinkOptions = null,
IConfigurationSection sinkOptionsSection = null,
IConfiguration appConfiguration = null,
LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum,
IFormatProvider formatProvider = null,
ColumnOptions columnOptions = null,
IConfigurationSection columnOptionsSection = null,
ITextFormatter logEventFormatter = null,
IConfigurationSection sinkOptionsSection = null)
ITextFormatter logEventFormatter = null)
{
if (loggerAuditSinkConfiguration == null)
throw new ArgumentNullException(nameof(loggerAuditSinkConfiguration));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ private static void SetCommonColumnOptions(IConfigurationSection section, SqlCol
SetProperty.IfNotNull<bool>(section["nonClusteredIndex"], (val) => target.NonClusteredIndex = val);
}

private void AddRemoveStandardColumns(IConfigurationSection config, ColumnOptions columnOptions)
private static void AddRemoveStandardColumns(IConfigurationSection config, ColumnOptions columnOptions)
{
// add standard columns
var addStd = config.GetSection("addStandardColumns");
Expand All @@ -62,7 +62,7 @@ private void AddRemoveStandardColumns(IConfigurationSection config, ColumnOption
}
}

private void AddAdditionalColumns(IConfigurationSection config, ColumnOptions columnOptions)
private static void AddAdditionalColumns(IConfigurationSection config, ColumnOptions columnOptions)
{
var newcols =
config.GetSection("additionalColumns").Get<List<SqlColumn>>()
Expand All @@ -83,7 +83,7 @@ private void AddAdditionalColumns(IConfigurationSection config, ColumnOptions co
}
}

private void ReadStandardColumns(IConfigurationSection config, ColumnOptions columnOptions)
private static void ReadStandardColumns(IConfigurationSection config, ColumnOptions columnOptions)
{
var section = config.GetSection("id");
if (section != null)
Expand Down Expand Up @@ -148,7 +148,7 @@ private void ReadStandardColumns(IConfigurationSection config, ColumnOptions col
SetCommonColumnOptions(section, columnOptions.MessageTemplate);
}

private void ReadMiscColumnOptions(IConfigurationSection config, ColumnOptions columnOptions)
private static void ReadMiscColumnOptions(IConfigurationSection config, ColumnOptions columnOptions)
{
SetProperty.IfNotNull<bool>(config["disableTriggers"], (val) => columnOptions.DisableTriggers = val);
SetProperty.IfNotNull<bool>(config["clusteredColumnstoreIndex"], (val) => columnOptions.ClusteredColumnstoreIndex = val);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,20 +21,20 @@ public SinkOptions ConfigureSinkOptions(SinkOptions sinkOptions, IConfigurationS
return sinkOptions;
}

private void ReadTableOptions(IConfigurationSection config, SinkOptions sinkOptions)
private static void ReadTableOptions(IConfigurationSection config, SinkOptions sinkOptions)
{
SetProperty.IfNotNull<string>(config["tableName"], val => sinkOptions.TableName = val);
SetProperty.IfNotNull<string>(config["schemaName"], val => sinkOptions.SchemaName = val);
SetProperty.IfNotNull<bool>(config["autoCreateSqlTable"], val => sinkOptions.AutoCreateSqlTable = val);
}

private void ReadBatchSettings(IConfigurationSection config, SinkOptions sinkOptions)
private static void ReadBatchSettings(IConfigurationSection config, SinkOptions sinkOptions)
{
SetProperty.IfNotNull<int>(config["batchPostingLimit"], val => sinkOptions.BatchPostingLimit = val);
SetProperty.IfNotNull<string>(config["batchPeriod"], val => sinkOptions.BatchPeriod = TimeSpan.Parse(val, CultureInfo.InvariantCulture));
}

private void ReadAzureManagedIdentitiesOptions(IConfigurationSection config, SinkOptions sinkOptions)
private static void ReadAzureManagedIdentitiesOptions(IConfigurationSection config, SinkOptions sinkOptions)
{
SetProperty.IfNotNull<bool>(config["useAzureManagedIdentity"], val => sinkOptions.UseAzureManagedIdentity = val);
SetProperty.IfNotNull<string>(config["azureServiceTokenProviderResource"], val => sinkOptions.AzureServiceTokenProviderResource = val);
Expand Down
Loading

0 comments on commit 64dc4d5

Please sign in to comment.