AppFact.SerilogOpenSearchSink 0.0.8

dotnet add package AppFact.SerilogOpenSearchSink --version 0.0.8                
NuGet\Install-Package AppFact.SerilogOpenSearchSink -Version 0.0.8                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AppFact.SerilogOpenSearchSink" Version="0.0.8" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AppFact.SerilogOpenSearchSink --version 0.0.8                
#r "nuget: AppFact.SerilogOpenSearchSink, 0.0.8"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AppFact.SerilogOpenSearchSink as a Cake Addin
#addin nuget:?package=AppFact.SerilogOpenSearchSink&version=0.0.8

// Install AppFact.SerilogOpenSearchSink as a Cake Tool
#tool nuget:?package=AppFact.SerilogOpenSearchSink&version=0.0.8                

AppFact.SerilogOpenSearchSink

What is it?

A Serilog sink that writes logs to an OpenSearch cluster.

How to use it?

Install

Add the AppFact.SerilogOpenSearchSink NuGet package to your project.

Configure

As per usual, the sink is configured via WriteTo.OpenSearch().

var builder = new LoggerConfiguration();

// mathod 1
// configure via IConnectionSettingsValues provided by OpenSeaerch.
// provides the most flexibility but won't work with with Serilog.Settings.Configuration
var cs = new ConnectionSettings(new Uri("http://localhost:9200"));
// configure cs as needed, e.g.
cs.DefaultIndex("logs");
cs.BasicAuthentication("username", "password");
// register sink
builder.WriteTo.OpenSearch(cs);
// also supports optional parameters options, restrictedToMinimumLevel, and levelSwitch
builder.WriteTo.OpenSearch(cs, options: new OpenSearchSinkOptions{...}, restrictedToMinimumLevel: LevelAlias.Minimum, levelSwitch: new Serilog.Core.LoggingLevelSwitch());

// method 2
// or configure without IConnectionSettingsValues using basic auth
// provides less flexibility but works with Serilog.Settings.Configuration
builder.WriteTo.OpenSearch(
    uri: "http://localhost:9200", // or submit several see method 2 with SniffingConnectionPool
    basicAuthUser: "username",
    basicAuthPassword: "password",
    index: "logs", // optional, default is "logs"
    maxBatchSize: 1000, // optional and nullable, default is 1000
    tickInSeconds: 1.0, // optional double, default is 1.0
    restrictedToMinimumLevel: LevelAlias.Minimum, // optional enumerator, default is LevelAlias.Minimum
    levelSwitch: null, // optional Serilog.Core.LoggingLevelSwitch, default is null
    bypassSsl: false, // .NET will throw an exception when a server certificate is issued by an untrasted authority. To bypass the SSL certificate check set the value to true, default is false
    suppressThrowOnFailedInit: false // optional bool, default is false.
        // ^ should the sink suppress throwing an exception if the ping to the OpenSearch cluster fails on startup. this has no effect if the ping fails after the sink has started
);

// method 2 with SniffingConnectionPool
builder.WriteTo.OpenSearch(
    connectionStrings: new Uri[]
    {
        new Uri("http://localhost:9200"),
        new Uri("http://localhost:9201"),
        new Uri("http://localhost:9202")
    },
    // the rest of parameters
);


// finally
// build logger
var logger = builder.CreateLogger();
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AppFact.SerilogOpenSearchSink:

Package Downloads
APF.Core.Logger

This client library enables logger implementation in the APF services.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on AppFact.SerilogOpenSearchSink:

Repository Stars
PluralKit/PluralKit
Version Downloads Last updated
0.0.8 914 8/21/2024
0.0.7 132 8/21/2024
0.0.6 11,376 9/25/2023
0.0.5 2,570 8/23/2023
0.0.4 325 7/26/2023
0.0.3 199 7/25/2023
0.0.2 197 7/25/2023
0.0.1 191 7/25/2023