diff --git a/lambda/MAS.Tests/MAS.Tests.csproj b/lambda/MAS.Tests/MAS.Tests.csproj index 4399f9bc..ab0524bf 100644 --- a/lambda/MAS.Tests/MAS.Tests.csproj +++ b/lambda/MAS.Tests/MAS.Tests.csproj @@ -1,6 +1,6 @@  - netcoreapp2.1 + netcoreapp3.1 False adafe3d8-65fb-49fd-885e-03341a36dc88 @@ -66,7 +66,7 @@ - + diff --git a/lambda/MAS.Tests/UnitTests/Services/ViewRendererTests.cs b/lambda/MAS.Tests/UnitTests/Services/ViewRendererTests.cs index efcb9a7c..cbc4136c 100644 --- a/lambda/MAS.Tests/UnitTests/Services/ViewRendererTests.cs +++ b/lambda/MAS.Tests/UnitTests/Services/ViewRendererTests.cs @@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Mvc.Rendering; using System.Collections.Generic; using System; +using Microsoft.Extensions.Hosting; namespace MAS.Tests.UnitTests { @@ -39,7 +40,7 @@ public async Task RendersViewToString() mockController.Object.TempData = Mock.Of(); //Act - var viewRenderer = new ViewRenderer(Mock.Of>(), mockViewEngine.Object, Mock.Of()); + var viewRenderer = new ViewRenderer(Mock.Of>(), mockViewEngine.Object, Mock.Of()); var result = await viewRenderer.RenderViewAsync(mockController.Object, "~/AMockedView.cshtml", Mock.Of(), false); //Assert @@ -63,7 +64,7 @@ public async Task FailingToFindViewThrowsException() mockController.Object.TempData = Mock.Of(); //Act + Assert - var viewRenderer = new ViewRenderer(Mock.Of>(), mockViewEngine.Object, Mock.Of()); + var viewRenderer = new ViewRenderer(Mock.Of>(), mockViewEngine.Object, Mock.Of()); await Should.ThrowAsync(() => viewRenderer.RenderViewAsync(mockController.Object, "~/AMockedView.cshtml", Mock.Of(), false)); } } diff --git a/lambda/MAS.sln b/lambda/MAS.sln index abe073cb..a97c87c8 100644 --- a/lambda/MAS.sln +++ b/lambda/MAS.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 16.0.29025.244 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MAS", "MAS\MAS.csproj", "{03318747-CBA5-46D5-9B39-C08B169612E3}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MAS.Tests", "MAS.Tests\MAS.Tests.csproj", "{75974ECB-FA2B-4C8F-9F88-24BA1D636048}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -17,10 +15,6 @@ Global {03318747-CBA5-46D5-9B39-C08B169612E3}.Debug|Any CPU.Build.0 = Debug|Any CPU {03318747-CBA5-46D5-9B39-C08B169612E3}.Release|Any CPU.ActiveCfg = Release|Any CPU {03318747-CBA5-46D5-9B39-C08B169612E3}.Release|Any CPU.Build.0 = Release|Any CPU - {75974ECB-FA2B-4C8F-9F88-24BA1D636048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {75974ECB-FA2B-4C8F-9F88-24BA1D636048}.Debug|Any CPU.Build.0 = Debug|Any CPU - {75974ECB-FA2B-4C8F-9F88-24BA1D636048}.Release|Any CPU.ActiveCfg = Release|Any CPU - {75974ECB-FA2B-4C8F-9F88-24BA1D636048}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/lambda/MAS/LambdaEntryPoint.cs b/lambda/MAS/LambdaEntryPoint.cs index ad0d6e2d..cbf4672d 100644 --- a/lambda/MAS/LambdaEntryPoint.cs +++ b/lambda/MAS/LambdaEntryPoint.cs @@ -3,7 +3,7 @@ using System.Linq; using System.Net; using System.Threading.Tasks; -using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Hosting; using System.IO; using Amazon.Lambda.APIGatewayEvents; using Amazon.Lambda.AspNetCoreServer.Internal; @@ -11,6 +11,7 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.DependencyInjection; using static Amazon.Lambda.APIGatewayEvents.APIGatewayProxyRequest; +using Microsoft.AspNetCore.Hosting; namespace MAS { @@ -30,11 +31,11 @@ public class LambdaEntryPoint : private ILogger _logger; - protected override void PostCreateWebHost(IWebHost webHost) + protected override void PostCreateHost(IHost webHost) { _logger = webHost.Services.GetRequiredService>(); - base.PostCreateWebHost(webHost); + base.PostCreateHost(webHost); } /// @@ -42,10 +43,13 @@ protected override void PostCreateWebHost(IWebHost webHost) /// needs to be configured in this method using the UseStartup<>() method. /// /// - protected override void Init(IWebHostBuilder builder) + protected override void Init(IHostBuilder builder) { - builder - .UseStartup(); + builder.ConfigureWebHostDefaults(webBuilder => + { + webBuilder + .UseStartup(); + }); } public override Task FunctionHandlerAsync(APIGatewayProxyRequest request, ILambdaContext lambdaContext) diff --git a/lambda/MAS/MAS.csproj b/lambda/MAS/MAS.csproj index 089a7c1b..21921897 100644 --- a/lambda/MAS/MAS.csproj +++ b/lambda/MAS/MAS.csproj @@ -1,7 +1,8 @@  - netcoreapp2.1 + netcoreapp3.1 true + linux-x64;win7-x64 Lambda adafe3d8-65fb-49fd-885e-03341a36dc88 @@ -15,13 +16,12 @@ - - + + - @@ -32,4 +32,30 @@ + + + nice.logging\6.0.22\lib\netstandard1.6\NICE.Logging.dll + true + + + nice.logging.quickfix\rabbitmq.client\4.1.1\lib\netstandard1.5\RabbitMQ.Client.dll + true + + + nice.logging.quickfix\serilog\2.5.0\lib\netstandard1.3\Serilog.dll + true + + + nice.logging.quickfix\serilog.extensions.logging\1.2.0\lib\netstandard1.3\Serilog.Extensions.Logging.dll + true + + + nice.logging.quickfix\serilog.sinks.periodicbatching\2.1.0\lib\netstandard1.2\Serilog.Sinks.PeriodicBatching.dll + true + + + nice.logging.quickfix\serilog.sinks.rollingfile\3.2.0\lib\netstandard1.3\Serilog.Sinks.RollingFile.dll + true + + \ No newline at end of file diff --git a/lambda/MAS/SeriLogger.cs b/lambda/MAS/SeriLogger.cs index 0af18667..048e6388 100644 --- a/lambda/MAS/SeriLogger.cs +++ b/lambda/MAS/SeriLogger.cs @@ -1,6 +1,7 @@ using MAS.Configuration; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using NICE.Logging; using NICE.Logging.Sinks.RabbitMQ; @@ -12,18 +13,18 @@ namespace MAS.Logging { public interface ISeriLogger { - void Configure(ILoggerFactory loggerFactory, IConfiguration configuration, IApplicationLifetime appLifetime, IHostingEnvironment env, EnvironmentConfig environmentConfig); + void Configure(ILoggerFactory loggerFactory, IConfiguration configuration, Microsoft.Extensions.Hosting.IApplicationLifetime appLifetime, IHostEnvironment env, EnvironmentConfig environmentConfig); } public class SeriLogger : ISeriLogger { - public void Configure(ILoggerFactory loggerFactory, IConfiguration configuration, IApplicationLifetime appLifetime, IHostingEnvironment env, EnvironmentConfig environmentConfig) + public void Configure(ILoggerFactory loggerFactory, IConfiguration configuration, Microsoft.Extensions.Hosting.IApplicationLifetime appLifetime, IHostEnvironment env, EnvironmentConfig environmentConfig) { // read appsettings var logCfg = configuration.GetSection("Logging"); - loggerFactory.AddConsole(logCfg); // add provider to send logs to System.Console.WriteLine() - loggerFactory.AddDebug(); // add provider to send logs to System.Diagnostics.Debug.WriteLine() + //loggerFactory.AddConsole(logCfg); // add provider to send logs to System.Console.WriteLine() + //loggerFactory.AddDebug(); // add provider to send logs to System.Diagnostics.Debug.WriteLine() var rabbitSettingsFound = int.TryParse(logCfg["RabbitMQPort"], out var rPort); bool.TryParse(logCfg["UseRabbit"], out var useRabbit); diff --git a/lambda/MAS/Services/ViewRenderer.cs b/lambda/MAS/Services/ViewRenderer.cs index 34404296..cfe6ce6c 100644 --- a/lambda/MAS/Services/ViewRenderer.cs +++ b/lambda/MAS/Services/ViewRenderer.cs @@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.AspNetCore.Mvc.ViewEngines; using Microsoft.AspNetCore.Mvc.ViewFeatures; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; using System.IO; @@ -21,9 +22,9 @@ public class ViewRenderer : IViewRenderer private readonly ILogger _logger; private readonly ICompositeViewEngine _compositeViewEngine; - private readonly IHostingEnvironment _hostingEnvironment; + private readonly IHostEnvironment _hostingEnvironment; - public ViewRenderer(ILogger logger, ICompositeViewEngine compositeViewEngine, IHostingEnvironment hostingEnvironment) + public ViewRenderer(ILogger logger, ICompositeViewEngine compositeViewEngine, IHostEnvironment hostingEnvironment) { _logger = logger; _compositeViewEngine = compositeViewEngine; @@ -41,7 +42,7 @@ public async Task RenderViewAsync(Controller controller, string using (var writer = new StringWriter()) { - var viewResult = _compositeViewEngine.GetView(_hostingEnvironment.WebRootPath, viewName, !isPartial); + var viewResult = _compositeViewEngine.GetView(_hostingEnvironment.ContentRootPath, viewName, !isPartial); if (viewResult.Success == false) { diff --git a/lambda/MAS/Startup.cs b/lambda/MAS/Startup.cs index 0eeec6f5..79395ef1 100644 --- a/lambda/MAS/Startup.cs +++ b/lambda/MAS/Startup.cs @@ -11,7 +11,9 @@ using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; +using IHostingEnvironment = Microsoft.AspNetCore.Hosting.IHostingEnvironment; namespace MAS { @@ -19,9 +21,9 @@ public class Startup { public static readonly RegionEndpoint Region = RegionEndpoint.EUWest1; public static IConfiguration Configuration { get; private set; } - public IHostingEnvironment Environment { get; } + public IHostEnvironment Environment { get; } - public Startup(IConfiguration configuration, IHostingEnvironment env) + public Startup(IConfiguration configuration, IHostEnvironment env) { Configuration = configuration; Environment = env; @@ -91,24 +93,25 @@ public void ConfigureServices(IServiceCollection services) return new AmazonCloudFrontClient(awsConfig.AccessKey, awsConfig.SecretKey, cloudfrontConfig); }); + services.AddControllers(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline public void Configure(IApplicationBuilder app, - IHostingEnvironment env, + IHostEnvironment env, ILoggerFactory loggerFactory, - ISeriLogger seriLogger, - IApplicationLifetime appLifetime, + //ISeriLogger seriLogger, + IHostApplicationLifetime appLifetime, EnvironmentConfig environmentConfig) { - seriLogger.Configure(loggerFactory, Configuration, appLifetime, env, environmentConfig); + //seriLogger.Configure(loggerFactory, Configuration, appLifetime, env, environmentConfig); loggerFactory.CreateLogger(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); - loggerFactory.AddConsole(Configuration.GetSection("Logging")); - loggerFactory.AddDebug(); + //loggerFactory.AddConsole(Configuration.GetSection("Logging")); + //loggerFactory.AddDebug(); } else { @@ -116,7 +119,13 @@ public void Configure(IApplicationBuilder app, } app.UseHttpsRedirection(); - app.UseMvc(); + + app.UseRouting(); + app.UseEndpoints(endpoints => { + endpoints.MapControllers(); + }); + + } } } diff --git a/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/.nupkg.metadata new file mode 100644 index 00000000..0550baa9 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "IIsw1u7GXvZ5kVPILD8JhLlXvjUuqbjKu1xM4NEW6lvQlBjQYrbe97Ar5eyyosMyWlBse7a9u4bQCUj6qMQhZQ==", + "source": "https://teamcity.nice.org.uk/httpAuth/app/nuget/feed/_Root/default/v2" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/lib/netstandard1.6/NICE.Logging.dll b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/lib/netstandard1.6/NICE.Logging.dll new file mode 100644 index 00000000..6c7b9114 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/lib/netstandard1.6/NICE.Logging.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.6.0.22.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.6.0.22.nupkg.sha512 new file mode 100644 index 00000000..f7a91edd --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.6.0.22.nupkg.sha512 @@ -0,0 +1 @@ +IIsw1u7GXvZ5kVPILD8JhLlXvjUuqbjKu1xM4NEW6lvQlBjQYrbe97Ar5eyyosMyWlBse7a9u4bQCUj6qMQhZQ== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.nuspec b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.nuspec new file mode 100644 index 00000000..886c65e1 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/nice.logging/6.0.22/nice.logging.nuspec @@ -0,0 +1,21 @@ + + + + NICE.Logging + 6.0.22 + NICE.Logging + NICE.Logging + false + Package Description + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.nupkg.metadata new file mode 100644 index 00000000..4d77eb3f --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "KrIEo53c7/WGez9cdA38VOg7dbvBY0RacVqE8eoz/WXtBtpfeNO7tolND+H5J3JbVrFujhkQf4I5cq5ACeBpTg==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.signature.p7s b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.signature.p7s new file mode 100644 index 00000000..1d2e17ae Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/.signature.p7s differ diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.dll b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.dll new file mode 100644 index 00000000..29651340 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.xml b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.xml new file mode 100644 index 00000000..a0895dd9 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/net451/RabbitMQ.Client.xml @@ -0,0 +1,6632 @@ + + + + RabbitMQ.Client + + + + + Represents a TCP-addressable AMQP peer: a host name and port number. + + + Some of the constructors take, as a convenience, a System.Uri + instance representing an AMQP server address. The use of Uri + here is not standardised - Uri is simply a convenient + container for internet-address-like components. In particular, + the Uri "Scheme" property is ignored: only the "Host" and + "Port" properties are extracted. + + + + + Default Amqp ssl port. + + + + + Indicates that the default port for the protocol should be used. + + + + + Creates a new instance of the . + + Hostname. + Port number. If the port number is -1, the default port number will be used. + Ssl option. + + + + Creates a new instance of the . + + Hostname. + Port number. If the port number is -1, the default port number will be used. + + + + Construct an AmqpTcpEndpoint with "localhost" as the hostname, and using the default port. + + + + + Creates a new instance of the with the given Uri and ssl options. + + + Please see the class overview documentation for information about the Uri format in use. + + + + + Creates a new instance of the with the given Uri. + + + Please see the class overview documentation for information about the Uri format in use. + + + + + Clones the endpoint. + + A copy with the same hostname, port, and TLS settings + + + + Clones the endpoint using the provided hostname. + + Hostname to use + A copy with the provided hostname and port/TLS settings of this endpoint + + + + Retrieve or set the hostname of this . + + + + Retrieve or set the port number of this + AmqpTcpEndpoint. A port number of -1 causes the default + port number. + + + + Retrieve IProtocol of this . + + + + + Retrieve the SSL options for this AmqpTcpEndpoint. If not set, null is returned. + + + + + Construct an instance from a protocol and an address in "hostname:port" format. + + + If the address string passed in contains ":", it is split + into a hostname and a port-number part. Otherwise, the + entire string is used as the hostname, and the port-number + is set to -1 (meaning the default number for the protocol + variant specified). + Hostnames provided as IPv6 must appear in square brackets ([]). + + + + + Splits the passed-in string on ",", and passes the substrings to . + + + Accepts a string of the form "hostname:port, + hostname:port, ...", where the ":port" pieces are + optional, and returns a corresponding array of s. + + + + + Compares this instance by value (protocol, hostname, port) against another instance. + + + + + Implementation of hash code depending on protocol, hostname and port, + to line up with the implementation of . + + + + + Returns a URI-like string of the form amqp-PROTOCOL://HOSTNAME:PORTNUMBER. + + + This method is intended mainly for debugging and logging use. + + + + + Structure holding an AMQP timestamp, a posix 64-bit time_t. + + + When converting between an AmqpTimestamp and a System.DateTime, + be aware of the effect of your local timezone. In particular, + different versions of the .NET framework assume different + defaults. + + + We have chosen a signed 64-bit time_t here, since the AMQP + specification through versions 0-9 is silent on whether + timestamps are signed or unsigned. + + + + + + Construct an . + + Unix time. + + + + Unix time. + + + + + Provides a debugger-friendly display. + + + + Represents a version of the AMQP specification. + + + Vendor-specific variants of particular official specification + versions exist: this class simply represents the AMQP + specification version, and does not try to represent + information about any custom variations involved. + + + AMQP version 0-8 peers sometimes advertise themselves as + version 8-0: for this reason, this class's constructor + special-cases 8-0, rewriting it at construction time to be 0-8 instead. + + + + + + Construct an from major and minor version numbers. + + + Converts major=8 and minor=0 into major=0 and minor=8. Please see the class comment. + + + + + The AMQP specification major version number. + + + + + The AMQP specification minor version number. + + + + + Implement value-equality comparison. + + + + + Implement hashing as for value-equality. + + + + + Format appropriately for display. + + + The specification currently uses "MAJOR-MINOR" as a display format. + + + + + A pluggable authentication mechanism. + + + + + Handle one round of challenge-response. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + Represents Basic.GetOk responses from the server. + + Basic.Get either returns an instance of this class, or null if a Basic.GetEmpty was received. + + + + + Sets the new instance's properties from the arguments passed in. + + Delivery tag for the message. + Redelivered flag for the message + The exchange this message was published to. + Routing key with which the message was published. + The number of messages pending on the queue, excluding the message being delivered. + The Basic-class content header properties for the message. + + + + + Retrieves the Basic-class content header properties for this message. + + + + + Retrieves the body of this message. + + + + + Retrieve the delivery tag for this message. See also . + + + + + Retrieve the exchange this message was published to. + + + + + Retrieve the number of messages pending on the queue, excluding the message being delivered. + + + Note that this figure is indicative, not reliable, and can + change arbitrarily as messages are added to the queue and removed by other clients. + + + + + Retrieve the redelivered flag for this message. + + + + + Retrieve the routing key with which this message was published. + + + + Wrapper for a byte[]. May appear as values read from + and written to AMQP field tables. + + + The sole reason for the existence of this class is to permit + encoding of byte[] as 'x' in AMQP field tables, an extension + to the specification that is part of the tentative JMS mapping + implemented by QPid. + + + Instances of this object may be found as values held in + IDictionary instances returned from + RabbitMQ.Client.Impl.WireFormatting.ReadTable, e.g. as part of + IBasicProperties.Headers tables. Likewise, instances may be + set as values in an IDictionary table to be encoded by + RabbitMQ.Client.Impl.WireFormatting.WriteTable. + + + When an instance of this class is encoded/decoded, the type + tag 'x' is used in the on-the-wire representation. The AMQP + standard type tag 'S' is decoded to a raw byte[], and a raw + byte[] is encoded as 'S'. Instances of System.String are + converted to a UTF-8 binary representation, and then encoded + using tag 'S'. In order to force the use of tag 'x', instances + of this class must be used. + + + + + + Creates a new instance of the with null for its Bytes property. + + + + + Creates a new instance of the . + + The wrapped byte array, as decoded or as to be encoded. + + + + The wrapped byte array, as decoded or as to be encoded. + + + + Main entry point to the RabbitMQ .NET AMQP client + API. Constructs instances. + + + A simple example of connecting to a broker: + + + IConnectionFactory factory = new ConnectionFactory(); + // + // The next six lines are optional: + factory.UserName = ConnectionFactory.DefaultUser; + factory.Password = ConnectionFactory.DefaultPass; + factory.VirtualHost = ConnectionFactory.DefaultVHost; + factory.HostName = hostName; + factory.Port = AmqpTcpEndpoint.UseDefaultPort; + // + IConnection conn = factory.CreateConnection(); + // + IModel ch = conn.CreateModel(); + // + // ... use ch's IModel methods ... + // + ch.Close(Constants.ReplySuccess, "Closing the channel"); + conn.Close(Constants.ReplySuccess, "Closing the connection"); + + + The same example, written more compactly with AMQP URIs: + + + ConnectionFactory factory = new ConnectionFactory(); + factory.Uri = "amqp://localhost"; + IConnection conn = factory.CreateConnection(); + ... + + + Please see also the API overview and tutorial in the User Guide. + + + Note that the Uri property takes a string representation of an + AMQP URI. Omitted URI parts will take default values. The + host part of the URI cannot be omitted and URIs of the form + "amqp://foo/" (note the trailling slash) also represent the + default virtual host. The latter issue means that virtual + hosts with an empty name are not addressable. + + + + Default value for the desired maximum channel number, with zero meaning unlimited (value: 0). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default value for connection attempt timeout, in milliseconds. + + + + + Default value for the desired maximum frame size, with zero meaning unlimited (value: 0). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default value for desired heartbeat interval, in seconds, with zero meaning none (value: 60). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default password (value: "guest"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default user name (value: "guest"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default virtual host (value: "/"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default SASL auth mechanisms to use. + + + + + SASL auth mechanisms to use. + + + + + Set to true to enable automatic connection recovery. + + + + The host to connect to. + + + + Amount of time client will wait for before re-trying to recover connection. + + + + + Amount of time protocol handshake operations are allowed to take before + timing out. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + + Factory function for creating the + used to generate a list of endpoints for the ConnectionFactory + to try in order. + The default value creates an instance of the + using the list of endpoints passed in. The DefaultEndpointResolver shuffles the + provided list each time it is requested. + + + + + The port to connect on. + indicates the default for the protocol should be used. + + + + + Protocol used, only AMQP 0-9-1 is supported in modern versions. + + + + + Timeout setting for connection attempts (in milliseconds). + + + + + Timeout setting for socket read operations (in milliseconds). + + + + + Timeout setting for socket write operations (in milliseconds). + + + + + Ssl options setting. + + + + + Set to true to make automatic connection recovery also recover topology (exchanges, queues, bindings, etc). + + + + + Task scheduler connections created by this factory will use when + dispatching consumer operations, such as message deliveries. + + + + + Construct a fresh instance, with all fields set to their respective defaults. + + + + + Connection endpoint. + + + + + Set connection parameters using the amqp or amqps scheme. + + + + + Set connection parameters using the amqp or amqps scheme. + + + + + Dictionary of client properties to be sent to the server. + + + + + Password to use when authenticating to the server. + + + + + Maximum channel number to ask for. + + + + + Frame-max parameter to ask for (in bytes). + + + + + Heartbeat timeout to use when negotiating with the server (in seconds). + + + + + When set to true, background thread will be used for the I/O loop. + + + + + Username to use when authenticating to the server. + + + + + Virtual host to access during this connection. + + + + + Given a list of mechanism names supported by the server, select a preferred mechanism, + or null if we have none in common. + + + + + Create a connection to one of the endpoints provided by the IEndpointResolver + returned by the EndpointResolverFactory. By default the configured + hostname and port are used. + + + When the configured hostname was not reachable. + + + + + Create a connection to one of the endpoints provided by the IEndpointResolver + returned by the EndpointResolverFactory. By default the configured + hostname and port are used. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + When the configured hostname was not reachable. + + + + + Create a connection using a list of hostnames using the configured port. + By default each hostname is tried in a random order until a successful connection is + found or the list is exhausted using the DefaultEndpointResolver. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of hostnames to use for the initial + connection and recovery. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using a list of hostnames using the configured port. + By default each endpoint is tried in a random order until a successful connection is + found or the list is exhausted. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of hostnames to use for the initial + connection and recovery. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using a list of endpoints. By default each endpoint will be tried + in a random order until a successful connection is found or the list is exhausted. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of endpoints to use for the initial + connection and recovery. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using an IEndpointResolver. + + + The endpointResolver that returns the endpoints to use for the connection attempt. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + Open connection + + When no hostname was reachable. + + + + + Unescape a string, protecting '+'. + + + + + Set custom socket options by providing a SocketFactory. + + + + + Creates a new instance of the . + + Specifies the addressing scheme. + New instance of a . + + + + Useful default/base implementation of . + Subclass and override in application code. + + + Note that the "Handle*" methods run in the connection's thread! + Consider using , which exposes + events that can be subscribed to consumer messages. + + + + + Creates a new instance of an . + + + + + Constructor which sets the Model property to the given value. + + Common AMQP model. + + + + Retrieve the consumer tag this consumer is registered as; to be used when discussing this consumer + with the server, for instance with . + + + + + Returns true while the consumer is registered and expecting deliveries from the broker. + + + + + If our shuts down, this property will contain a description of the reason for the + shutdown. Otherwise it will contain null. See . + + + + + Signalled when the consumer gets cancelled. + + + + + Retrieve the this consumer is associated with, + for use in acknowledging received messages, for instance. + + + + + Called when the consumer is cancelled for reasons other than by a basicCancel: + e.g. the queue has been deleted (either by this channel or by any other channel). + See for notification of consumer cancellation due to basicCancel + + Consumer tag this consumer is registered. + + + + Called upon successful deregistration of the consumer from the broker. + + Consumer tag this consumer is registered. + + + + Called upon successful registration of the consumer with the broker. + + Consumer tag this consumer is registered. + + + + Called each time a message arrives for this consumer. + + + Does nothing with the passed in information. + Note that in particular, some delivered messages may require acknowledgement via . + The implementation of this method in this class does NOT acknowledge such messages. + + + + + Called when the model shuts down. + + Common AMQP model. + Information about the reason why a particular model, session, or connection was destroyed. + + + + Default implementation - overridable in subclasses. + + This default implementation simply sets the + property to false, and takes no further action. + + + + + Convenience class providing compile-time names for standard exchange types. + + + Use the static members of this class as values for the + "exchangeType" arguments for IModel methods such as + ExchangeDeclare. The broker may be extended with additional + exchange types that do not appear in this class. + + + + + Exchange type used for AMQP direct exchanges. + + + + + Exchange type used for AMQP fanout exchanges. + + + + + Exchange type used for AMQP headers exchanges. + + + + + Exchange type used for AMQP topic exchanges. + + + + + Retrieve a collection containing all standard exchange types. + + + + + Handle one round of challenge-response. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + + Convenience class providing compile-time names for standard headers. + + + Use the static members of this class as headers for the + arguments for Queue and Exchange declaration or Consumer creation. + The broker may be extended with additional + headers that do not appear in this class. + + + + + x-max-priority header + + + + + x-max-length header + + + + + x-max-length-bytes header + + + + + x-dead-letter-exchange header + + + + + x-dead-letter-routing-key header + + + + + x-message-ttl header + + + + + x-expires header + + + + + alternate-exchange header + + + + + x-priority header + + + + Consumer interface. Used to + receive messages from a queue by subscription. + + + See IModel.BasicConsume, IModel.BasicCancel. + + + Note that the "Handle*" methods run in the connection's + thread! Consider using QueueingBasicConsumer, which uses a + SharedQueue instance to safely pass received messages across + to user threads. + + + + + + Retrieve the this consumer is associated with, + for use in acknowledging received messages, for instance. + + + + + Signalled when the consumer gets cancelled. + + + + + Called when the consumer is cancelled for reasons other than by a basicCancel: + e.g. the queue has been deleted (either by this channel or by any other channel). + See for notification of consumer cancellation due to basicCancel + + Consumer tag this consumer is registered. + + + + Called upon successful deregistration of the consumer from the broker. + + Consumer tag this consumer is registered. + + + + Called upon successful registration of the consumer with the broker. + + Consumer tag this consumer is registered. + + + + Called each time a message arrives for this consumer. + + + Does nothing with the passed in information. + Note that in particular, some delivered messages may require acknowledgement via . + The implementation of this method in this class does NOT acknowledge such messages. + + + + + Called when the model shuts down. + + Common AMQP model. + Information about the reason why a particular model, session, or connection was destroyed. + + + Common AMQP Basic content-class headers interface, + spanning the union of the functionality offered by versions + 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + The specification code generator provides + protocol-version-specific implementations of this interface. To + obtain an implementation of this interface in a + protocol-version-neutral way, use . + + + Each property is readable, writable and clearable: a cleared + property will not be transmitted over the wire. Properties on a + fresh instance are clear by default. + + + + + + Application Id. + + + + + Intra-cluster routing identifier (cluster id is deprecated in AMQP 0-9-1). + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Application correlation identifier. + + + + + Non-persistent (1) or persistent (2). + + + + + Message expiration specification. + + + + + Message header field table. Is of type . + + + + + Application message Id. + + + + + Sets to either persistent (2) or non-persistent (1). + + + + + Message priority, 0 to 9. + + + + + Destination to reply to. + + + + + Convenience property; parses property using , + and serializes it using . + Returns null if property cannot be parsed by . + + + + + Message timestamp. + + + + + Message type name. + + + + + User Id. + + + + + Clear the property. + + + + + Clear the property (cluster id is deprecated in AMQP 0-9-1). + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the Type property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present (cluster id is deprecated in AMQP 0-9-1). + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the Type property is present. + + + + + Returns true if the UserId property is present. + + + + Sets to either persistent (2) or non-persistent (1). + + + The numbers 1 and 2 for delivery mode are "magic" in that + they appear in the AMQP 0-8 and 0-9 specifications as part + of the definition of the DeliveryMode Basic-class property, + without being defined as named constants. + + + Calling this method causes to take on a value. + In order to reset to the default empty condition, call . + + + + + + Main interface to an AMQP connection. + + + + Instances of are used to create fresh + sessions/channels. The class is used to + construct instances. + Please see the documentation for ConnectionFactory for an example of usage. + Alternatively, an API tutorial can be found in the User Guide. + + + Extends the interface, so that the "using" + statement can be used to scope the lifetime of a channel when + appropriate. + + + + + + If true, will close the whole connection as soon as there are no channels open on it; + if false, manual connection closure will be required. + + + DON'T set AutoClose to true before opening the first + channel, because the connection will be immediately closed if you do! + + + + + The maximum channel number this connection supports (0 if unlimited). + Usable channel numbers range from 1 to this number, inclusive. + + + + + A copy of the client properties that has been sent to the server. + + + + + Returns null if the connection is still in a state + where it can be used, or the cause of its closure otherwise. + + + + Applications should use the ConnectionShutdown event to + avoid race conditions. The scenario to avoid is checking + , seeing it is null (meaning the + was available for use at the time of the check), and + interpreting this mistakenly as a guarantee that the + will remain usable for a time. Instead, the + operation of interest should simply be attempted: if the + is not in a usable state, an exception will be + thrown (most likely , but may + vary depending on the particular operation being attempted). + + + + + + Retrieve the endpoint this connection is connected to. + + + + + The maximum frame size this connection supports (0 if unlimited). + + + + + The current heartbeat setting for this connection (0 for disabled), in seconds. + + + + + Returns true if the connection is still in a state where it can be used. + Identical to checking if equal null. + + + + + Returns the known hosts that came back from the + broker in the connection.open-ok method at connection + startup time. Null until the connection is completely open and ready for use. + + + + + The this connection is using to communicate with its peer. + + + + + A dictionary of the server properties sent by the server while establishing the connection. + This typically includes the product name and version of the server. + + + + + Returns the list of objects that contain information + about any errors reported while closing the connection in the order they appeared + + + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + Signalled when an exception occurs in a callback invoked by the connection. + + + This event is signalled when a ConnectionShutdown handler + throws an exception. If, in future, more events appear on + , then this event will be signalled whenever one + of those event handlers throws an exception, as well. + + + + + Raised when the connection is destroyed. + + + If the connection is already destroyed at the time an + event handler is added to this event, the event handler + will be fired immediately. + + + + + Abort this connection and all its channels. + + + Note that all active channels, sessions, and models will be closed if this method is called. + In comparison to normal method, will not throw + or during closing connection. + This method waits infinitely for the in-progress close operation to complete. + + + + + Abort this connection and all its channels. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the connection + + + + + + Abort this connection and all its channels and wait with a + timeout for all the in-progress close operations to complete. + + + This method, behaves in a similar way as method with the + only difference that it explictly specifies the timeout given + for all the in-progress close operations to complete. + If timeout is reached and the close operations haven't finished, then socket is forced to close. + + To wait infinitely for the close operations to complete use . + + + + + + Abort this connection and all its channels and wait with a + timeout for all the in-progress close operations to complete. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Close this connection and all its channels. + + + Note that all active channels, sessions, and models will be + closed if this method is called. It will wait for the in-progress + close operation to complete. This method will not return to the caller + until the shutdown is complete. If the connection is already closed + (or closing), then this method will throw . + It can also throw when socket was closed unexpectedly. + + + + + Close this connection and all its channels. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Close this connection and all its channels + and wait with a timeout for all the in-progress close operations to complete. + + + Note that all active channels, sessions, and models will be + closed if this method is called. It will wait for the in-progress + close operation to complete with a timeout. If the connection is + already closed (or closing), then this method will throw . + It can also throw when socket was closed unexpectedly. + If timeout is reached and the close operations haven't finished, then socket is forced to close. + + To wait infinitely for the close operations to complete use . + + + + + + Close this connection and all its channels + and wait with a timeout for all the in-progress close operations to complete. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Create and return a fresh channel, session, and model. + + + + + Handle incoming Connection.Blocked methods. + + + + + Handle incoming Connection.Unblocked methods. + + + + + Dictionary of client properties to be sent to the server. + + + + + Password to use when authenticating to the server. + + + + + Maximum channel number to ask for. + + + + + Frame-max parameter to ask for (in bytes). + + + + + Heartbeat setting to request (in seconds). + + + + + When set to true, background threads will be used for I/O and heartbeats. + + + + + Username to use when authenticating to the server. + + + + + Virtual host to access during this connection. + + + + + Given a list of mechanism names supported by the server, select a preferred mechanism, + or null if we have none in common. + + + + + Create a connection to the specified endpoint. + + + + + Create a connection to the specified endpoint. + + /// Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + + Connects to the first reachable hostname from the list. + + List of host names to use + + + + + Connects to the first reachable hostname from the list. + + List of host names to use + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + + Advanced option. + + What task scheduler should consumer dispatcher use. + + + + + Amount of time protocol handshake operations are allowed to take before + timing out. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + + A decoded AMQP content header frame. + + + + + Retrieve the AMQP class ID of this content header. + + + + + Retrieve the AMQP class name of this content header. + + + + + Return all AmqpTcpEndpoints in the order they should be tried. + + + + + A decoded AMQP method frame. + + + + AMQP methods can be RPC requests, RPC responses, exceptions + (ChannelClose, ConnectionClose), or one-way asynchronous + messages. Currently this information is not recorded in their + type or interface: it is implicit in the way the method is + used, and the way it is defined in the AMQP specification. A + future revision of the RabbitMQ .NET client library may extend + the IMethod interface to represent this information + explicitly. + + + + + + Retrieves the class ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the method ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the name of this method - for debugging use. + + + + + Common AMQP model, spanning the union of the + functionality offered by versions 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + Extends the interface, so that the "using" + statement can be used to scope the lifetime of a channel when appropriate. + + + + + Channel number, unique per connections. + + + + + Returns null if the session is still in a state where it can be used, + or the cause of its closure otherwise. + + + + Signalled when an unexpected message is delivered + + Under certain circumstances it is possible for a channel to receive a + message delivery which does not match any consumer which is currently + set up via basicConsume(). This will occur after the following sequence + of events: + + ctag = basicConsume(queue, consumer); // i.e. with explicit acks + // some deliveries take place but are not acked + basicCancel(ctag); + basicRecover(false); + + Since requeue is specified to be false in the basicRecover, the spec + states that the message must be redelivered to "the original recipient" + - i.e. the same channel / consumer-tag. But the consumer is no longer + active. + + In these circumstances, you can register a default consumer to handle + such deliveries. If no default consumer is registered an + InvalidOperationException will be thrown when such a delivery arrives. + + Most people will not need to use this. + + + + Returns true if the model is no longer in a state where it can be used. + + + + + Returns true if the model is still in a state where it can be used. + Identical to checking if equals null. + + + + When in confirm mode, return the sequence number of the next message to be published. + + + + + Signalled when a Basic.Ack command arrives from the broker. + + + + + Signalled when a Basic.Nack command arrives from the broker. + + + + + All messages received before this fires that haven't been ack'ed will be redelivered. + All messages received afterwards won't be. + + + Handlers for this event are invoked by the connection thread. + It is sometimes useful to allow that thread to know that a recover-ok + has been received, rather than the thread that invoked . + + + + + Signalled when a Basic.Return command arrives from the broker. + + + + + Signalled when an exception occurs in a callback invoked by the model. + + Examples of cases where this event will be signalled + include exceptions thrown in methods, or + exceptions thrown in delegates etc. + + + + + Notifies the destruction of the model. + + + If the model is already destroyed at the time an event + handler is added to this event, the event handler will be fired immediately. + + + + + Abort this session. + + + If the session is already closed (or closing), then this + method does nothing but wait for the in-progress close + operation to complete. This method will not return to the + caller until the shutdown is complete. + In comparison to normal method, will not throw + or or any other during closing model. + + + + + Abort this session. + + + The method behaves in the same way as , with the only + difference that the model is closed with the given model close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the model + + + + + + (Spec method) Acknowledge one or more delivered message(s). + + + + + Delete a Basic content-class consumer. + + + + Start a Basic content-class consumer. + + + + (Spec method) Retrieve an individual message, if + one is available; returns null if the server answers that + no messages are currently available. See also . + + + + Reject one or more delivered message(s). + + + + (Spec method) Publishes a message. + + + + + (Spec method) Configures QoS parameters of the Basic content-class. + + + + + (Spec method). + + + + + (Spec method). + + + + (Spec method) Reject a delivered message. + + + Close this session. + + If the session is already closed (or closing), then this + method does nothing but wait for the in-progress close + operation to complete. This method will not return to the + caller until the shutdown is complete. + + + + Close this session. + + The method behaves in the same way as Close(), with the only + difference that the model is closed with the given model + close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the model + + + + + + Enable publisher acknowledgements. + + + + + Construct a completely empty content header for use with the Basic content class. + + + + + (Extension method) Bind an exchange to an exchange. + + + + + Like ExchangeBind but sets nowait to true. + + + + (Spec method) Declare an exchange. + + The exchange is declared non-passive and non-internal. + The "nowait" option is not exercised. + + + + + Same as ExchangeDeclare but sets nowait to true and returns void (as there + will be no response from the server). + + + + + (Spec method) Declare an exchange. + + + The exchange is declared passive. + + + + + (Spec method) Delete an exchange. + + + + + Like ExchangeDelete but sets nowait to true. + + + + + (Extension method) Unbind an exchange from an exchange. + + + + + Like ExchangeUnbind but sets nowait to true. + + + + + (Spec method) Bind a queue to an exchange. + + + + Same as QueueBind but sets nowait parameter to true. + + + (Spec method) Declare a queue. + + + + Same as QueueDeclare but sets nowait to true and returns void (as there + will be no response from the server). + + + + Declare a queue passively. + + The queue is declared passive, non-durable, + non-exclusive, and non-autodelete, with no arguments. + The queue is declared passively; i.e. only check if it exists. + + + + + Returns the number of messages in a queue ready to be delivered + to consumers. This method assumes the queue exists. If it doesn't, + an exception will be closed with an exception. + + The name of the queue + + + + Returns the number of consumers on a queue. + This method assumes the queue exists. If it doesn't, + an exception will be closed with an exception. + + The name of the queue + + + + (Spec method) Delete a queue. + + + Returns the number of messages purged during queue deletion. + uint.MaxValue. + + + + + Same as QueueDelete but sets nowait parameter to true + and returns void (as there will be no response from the server) + + + + + (Spec method) Purge a queue of messages. + + + Returns the number of messages purged. + + + + + (Spec method) Unbind a queue from an exchange. + + + + + (Spec method) Commit this session's active TX transaction. + + + + + (Spec method) Roll back this session's active TX transaction. + + + + + (Spec method) Enable TX mode for this session. + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + True if no nacks were received within the timeout, otherwise false. + How long to wait (at most) before returning + whether or not any nacks were returned. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + True if no nacks were received within the timeout, otherwise false. + How long to wait (at most) before returning + whether or not any nacks were returned. + + True if the method returned because + the timeout elapsed, not because all messages were ack'd or at least one nack'd. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been ack'd by the broker. If a nack is received, throws an + OperationInterrupedException exception immediately. + + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been ack'd by the broker. If a nack is received or the timeout + elapses, throws an OperationInterrupedException exception immediately. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + + (Extension method) Convenience overload of BasicPublish. + + + The publication occurs with mandatory=false and immediate=false. + + + + + (Extension method) Convenience overload of BasicPublish. + + + The publication occurs with mandatory=false + + + + + (Spec method) Convenience overload of BasicPublish. + + + + + (Spec method) Declare a queue. + + + + + (Extension method) Bind an exchange to an exchange. + + + + + (Extension method) Like exchange bind but sets nowait to true. + + + + + (Spec method) Declare an exchange. + + + + + (Extension method) Like ExchangeDeclare but sets nowait to true. + + + + + (Spec method) Unbinds an exchange. + + + + + (Spec method) Deletes an exchange. + + + + + (Extension method) Like ExchangeDelete but sets nowait to true. + + + + + (Spec method) Binds a queue. + + + + + (Spec method) Deletes a queue. + + + + + (Extension method) Like QueueDelete but sets nowait to true. + + + + + (Spec method) Unbinds a queue. + + + + + Object describing various overarching parameters + associated with a particular AMQP protocol variant. + + + + + Retrieve the protocol's API name, used for printing, + configuration properties, IDE integration, Protocols.cs etc. + + + + + Retrieve the protocol's default TCP port. + + + + + Retrieve the protocol's major version number. + + + + + Retrieve the protocol's minor version number. + + + + + Retrieve the protocol's revision (if specified). + + + + + Construct a connection from a given set of parameters, + a frame handler, and no automatic recovery. + The "insist" parameter is passed on to the AMQP connection.open method. + + + + + Construct a connection from a given set of parameters, + a frame handler, and automatic recovery settings. + + + + + Construct a connection from a given set of parameters, + a frame handler, a client-provided name, and no automatic recovery. + The "insist" parameter is passed on to the AMQP connection.open method. + + + + + Construct a connection from a given set of parameters, + a frame handler, a client-provided name, and automatic recovery settings. + + + + + Construct a protocol model atop a given session. + + + + + A implementation that + uses a to buffer incoming deliveries. + + + + This interface is provided to make creation of test doubles + for easier. + + + + + + A marker interface for entities that are recoverable (currently connection or channel). + + + + + Common AMQP Stream content-class headers interface, + spanning the union of the functionality offered by versions 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + + The specification code generator provides + protocol-version-specific implementations of this interface. To + obtain an implementation of this interface in a + protocol-version-neutral way, use IModel.CreateStreamProperties(). + + + Each property is readable, writable and clearable: a cleared + property will not be transmitted over the wire. Properties on a fresh instance are clear by default. + + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Message header field table. + + + + + Message priority, 0 to 9. + + + + + Message timestamp. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Wrapper interface for standard TCP-client. Provides socket for socket frame handler class. + + Contains all methods that are currenty in use in rabbitmq client. + + + + Common interface for network (TCP/IP) connection classes. + + + + + Local port. + + + + + Remote port. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + + Provides access to the supported implementations. + + + + + Protocol version 0-9-1 as modified by Pivotal. + + + + + Retrieve the current default protocol variant (currently AMQP_0_9_1). + + + + + Container for an exchange name, exchange type and + routing key, usable as the target address of a message to be published. + + + + The syntax used for the external representation of instances + of this class is compatible with QPid's "Reply-To" field + pseudo-URI format. The pseudo-URI format is + (exchange-type)://(exchange-name)/(routing-key), where + exchange-type is one of the permitted exchange type names (see + class ExchangeType), exchange-name must be present but may be + empty, and routing-key must be present but may be empty. + + + The syntax is as it is solely for compatibility with QPid's + existing usage of the ReplyTo field; the AMQP specifications + 0-8 and 0-9 do not define the format of the field, and do not + define any format for the triple (exchange name, exchange + type, routing key) that could be used instead. Please see also + the way class RabbitMQ.Client.MessagePatterns.SimpleRpcServer + uses the ReplyTo field. + + + + + + Regular expression used to extract the exchange-type, + exchange-name and routing-key from a string. + + + + + Creates a new instance of the . + + Exchange type. + Exchange name. + Routing key. + + + + Retrieve the exchange name. + + + + + Retrieve the exchange type string. + + + + + Retrieve the routing key. + + + + + Parse a out of the given string, + using the regex. + + + + + Reconstruct the "uri" from its constituents. + + + + + Represents Queue info. + + + + + Creates a new instance of the . + + Queue name. + Message count. + Consumer count. + + + + Consumer count. + + + + + Message count. + + + + + Queue name. + + + + + A implementation that + uses a to buffer incoming deliveries. + + + + Received messages are placed in the SharedQueue as instances + of . + + + Note that messages taken from the SharedQueue may need + acknowledging with . + + + When the consumer is closed, through BasicCancel or through + the shutdown of the underlying or , + the method is called, which causes any + Enqueue() operations, and Dequeue() operations when the queue + is empty, to throw EndOfStreamException (see the comment for ). + + + The following is a simple example of the usage of this class: + + + IModel channel = ...; + QueueingBasicConsumer consumer = new QueueingBasicConsumer(channel); + channel.BasicConsume(queueName, null, consumer); + + // At this point, messages will be being asynchronously delivered, + // and will be queueing up in consumer.Queue. + + while (true) { + try { + BasicDeliverEventArgs e = (BasicDeliverEventArgs) consumer.Queue.Dequeue(); + // ... handle the delivery ... + channel.BasicAck(e.DeliveryTag, false); + } catch (EndOfStreamException ex) { + // The consumer was cancelled, the model closed, or the + // connection went away. + break; + } + } + + + + + + Creates a fresh , + initialising the property to null + and the property to a fresh . + + + + + Creates a fresh , with + set to the argument, and set to a fresh . + + + + + Creates a fresh , + initialising the + and properties to the given values. + + + + + Retrieves the that messages arrive on. + + + + + Overrides 's implementation, + building a instance and placing it in the Queue. + + + + + Overrides 's OnCancel implementation, + extending it to call the Close() method of the . + + + + + Information about the reason why a particular model, session, or connection was destroyed. + + + The and properties should be used to determine the originator of the shutdown event. + + + + + Construct a with the given parameters and + 0 for and . + + + + + Construct a with the given parameters. + + + + + Object causing the shutdown, or null if none. + + + + + AMQP content-class ID, or 0 if none. + + + + + Returns the source of the shutdown event: either the application, the library, or the remote peer. + + + + + AMQP method ID within a content-class, or 0 if none. + + + + + One of the standardised AMQP reason codes. See RabbitMQ.Client.Framing.*.Constants. + + + + + Informative human-readable reason text. + + + + + Override ToString to be useful for debugging. + + + + + Describes the source of a shutdown event. + + + + + The shutdown event originated from the application using the RabbitMQ .NET client library. + + + + + The shutdown event originated from the RabbitMQ .NET client library itself. + + + Shutdowns with this ShutdownInitiator code may appear if, + for example, an internal error is detected by the client, + or if the server sends a syntactically invalid + frame. Another potential use is on IConnection AutoClose. + + + + + The shutdown event originated from the remote AMQP peer. + + + A valid received connection.close or channel.close event + will manifest as a shutdown with this ShutdownInitiator. + + + + + Single entry object in the shutdown report that encapsulates description + of the error which occured during shutdown. + + + + + Description provided in the error. + + + + + object that occured during shutdown, or null if unspecified. + + + + + Represents an which does the actual heavy lifting to set up an SSL connection, + using the config options in an to make things cleaner. + + + + + Upgrade a Tcp stream to an Ssl stream using the SSL options provided. + + + + + Represents a configurable SSL option, used in setting up an SSL connection. + + + + + Constructs an SslOption specifying both the server cannonical name and the client's certificate path. + + + + + Constructs an with no parameters set. + + + + + Retrieve or set the set of ssl policy errors that are deemed acceptable. + + + + + Retrieve or set the path to client certificate. + + + + + Retrieve or set the path to client certificate. + + + + + An optional client specified SSL certificate selection callback. If this is not specified, + the first valid certificate found will be used. + + + + + An optional client specified SSL certificate validation callback. If this is not specified, + the default callback will be used in conjunction with the property to + determine if the remote server certificate is valid. + + + + + Retrieve or set the X509CertificateCollection containing the client certificate. + If no collection is set, the client will attempt to load one from the specified . + + + + + Flag specifying if Ssl should indeed be used. + + + + + Retrieve or set server's Canonical Name. + This MUST match the CN on the Certificate else the SSL connection will fail. + + + + + Retrieve or set the Ssl protocol version. + + + + + Framework for constructing various types of AMQP. Basic-class application messages. + + + + + By default, new instances of BasicMessageBuilder and its subclasses will have this much initial buffer space. + + + + + Construct an instance ready for writing. + + + The is used for the initial accumulator buffer size. + + + + + Construct an instance ready for writing. + + + + + Retrieve the associated with this instance. + + + + + Retrieve this instance's writing to BodyStream. + + + If no instance exists, one is created, + pointing at the beginning of the accumulator. If one + already exists, the existing instance is returned. The + instance is not reset. + + + + + Retrieve the being used to construct the message body. + + + + + Retrieves the dictionary that will be used to construct the message header table. + It is of type . + + + + + Finish and retrieve the content body for transmission. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Write a single byte into the message body, without encoding or interpretation. + + + + + Write a byte array into the message body, without encoding or interpretation. + + + + + Write a section of a byte array into the message body, without encoding or interpretation. + + + + + Framework for analyzing various types of AMQP Basic-class application messages. + + + + + Construct an instance ready for reading. + + + + + Retrieve the associated with this instance. + + + + + Retrieve this instance's NetworkBinaryReader reading from . + + + If no NetworkBinaryReader instance exists, one is created, + pointing at the beginning of the body. If one already + exists, the existing instance is returned. The instance is + not reset. + + + + + Retrieve the message body, as a byte array. + + + + + Retrieve the being used to read from the message body. + + + + + Retrieves the content header properties of the message being read. Is of type . + + + + + Read a single byte from the body stream, without encoding or interpretation. + Returns -1 for end-of-stream. + + + + + Read bytes from the body stream into a section of + an existing byte array, without encoding or + interpretation. Returns the number of bytes read from the + body and written into the target array, which may be less + than the number requested if the end-of-stream is reached. + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + MIME type associated with QPid BytesMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Write a section of a byte array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Write a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + MIME type associated with QPid BytesMessages. + + + + + Construct an instance for reading. See . + + + + + Reads a given number ("count") of bytes from the message body, + placing them into "target", starting at "offset". + + + + + Reads a from the message body. + + + + + Reads a given number of bytes from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Interface for constructing messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Write a section of a byte array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Write a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Analyzes messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Reads a given number ("count") of bytes from the message body, + placing them into "target", starting at "offset". + + + + + Reads a from the message body. + + + + + Reads a given number of bytes from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Interface for constructing messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + Retrieves the dictionary that will be written into the body of the message. + + + + + Analyzes messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + Parses the message body into an instance. + + + + + Interface for constructing application messages. + + + Subinterfaces provide specialized data-writing methods. This + base interface deals with the lowest common denominator: + bytes, with no special encodings for higher-level objects. + + + + + Retrieve the being used to construct the message body. + + + + + Retrieves the dictionary that will be used to construct the message header table. + It is of type . + + + + + Finish and retrieve the content body for transmission. + + + + + Finish and retrieve the content header for transmission. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Write a single byte into the message body, without encoding or interpretation. + + + + + Write a byte array into the message body, without encoding or interpretation. + + + + + Write a section of a byte array into the message body, without encoding or interpretation. + + + + + Interface for analyzing application messages. + + + Subinterfaces provide specialized data-reading methods. This + base interface deals with the lowest common denominator: + bytes, with no special encodings for higher-level objects. + + + + + Retrieve the message body, as a byte array. + + + + + Retrieve the being used to read from the message body. + + + + + Retrieves the content header properties of the message being read. Is of type . + + + + + Read a single byte from the body stream, without encoding or interpretation. + Returns -1 for end-of-stream. + + + + + Read bytes from the body stream into a section of + an existing byte array, without encoding or + interpretation. Returns the number of bytes read from the + body and written into the target array, which may be less + than the number requested if the end-of-stream is reached. + + + + + Interface for constructing messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a section of a byte array into the message body being assembled. + + + + + Writes a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + The only permitted types are bool, int, short, byte, char, + long, float, double, byte[] and string. + + + + + Writes objects using WriteObject(), one after the other. No length indicator is written. + See also . + + + + + Writes a value into the message body being assembled. + + + + + Writes a string value into the message body being assembled. + + + + + Analyzes messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a array from the message body. + The body contains information about the size of the array to read. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads array from the message body until the end-of-stream is reached. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + MIME type associated with QPid MapMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Retrieves the dictionary that will be written into the body of the message. + + + + + Finish and retrieve the content body for transmission. + + + Calling this message clears Body to null. Subsequent calls will fault. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + MIME type associated with QPid MapMessages. + + + + + Construct an instance for reading. See . + + + + + Parses the message body into an instance. + + . + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "MapMessage" wire encoding. + + + + + + Utility class for extracting typed values from strings. + + + + + Creates the protocol violation exception. + + Type of the target. + The source. + Instance of the . + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of an . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + MIME type associated with QPid StreamMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a section of a byte array into the message body being assembled. + + + + + Writes a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + The only permitted types are bool, int, short, byte, char, + long, float, double, byte[] and string. + + + + + Writes objects using WriteObject(), one after the other. No length indicator is written. + See also . + + + + + Writes a value into the message body being assembled. + + + + + Writes a string value into the message body being assembled. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + MIME type associated with QPid StreamMessages. + + + + + Construct an instance for reading. See . + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a array from the message body. + The body contains information about the size of the array to read. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads array from the message body until the end-of-stream is reached. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Tags used in parsing and generating StreamWireFormatting message bodies. + + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + + + + + + + + + + Contains all the information about a message acknowledged + from an AMQP broker within the Basic content-class. + + + The sequence number of the acknowledged message, or + the closed upper bound of acknowledged messages if multiple + is true. + + + Whether this acknoledgement applies to one message + or multiple messages. + + + Contains all the information about a message delivered + from an AMQP broker within the Basic content-class. + + + Default constructor. + + + Constructor that fills the event's properties from + its arguments. + + + The content header of the message. + + + The message body. + + + The consumer tag of the consumer that the message + was delivered to. + + + The delivery tag for this delivery. See + IModel.BasicAck. + + + The exchange the message was originally published + to. + + + The AMQP "redelivered" flag. + + + The routing key used when the message was + originally published. + + + Contains all the information about a message nack'd + from an AMQP broker within the Basic content-class. + + + The sequence number of the nack'd message, or the + closed upper bound of nack'd messages if multiple is + true. + + + Whether this nack applies to one message or + multiple messages. + + + Ignore + Clients should ignore this field. + + + Contains all the information about a message returned + from an AMQP broker within the Basic content-class. + + + The content header of the message. + + + The message body. + + + The exchange the returned message was originally + published to. + + + The AMQP reason code for the return. See + RabbitMQ.Client.Framing.*.Constants. + + + Human-readable text from the broker describing the + reason for the return. + + + The routing key used when the message was + originally published. + + + Wrap an exception thrown by a callback. + + + Access helpful information about the context in + which the wrapped exception was thrown. + + + Access the wrapped exception. + + + Describes an exception that was thrown during the + library's invocation of an application-supplied callback + handler. + + + When an exception is thrown from a callback registered with + part of the RabbitMQ .NET client library, it is caught, + packaged into a CallbackExceptionEventArgs, and passed through + the appropriate IModel's or IConnection's CallbackException + event handlers. If an exception is thrown in a + CallbackException handler, it is silently swallowed, as + CallbackException is the last chance to handle these kinds of + exception. + + + Code constructing CallbackExceptionEventArgs instances will + usually place helpful information about the context of the + call in the IDictionary available through the Detail property. + + + + + + Event relating to connection being blocked. + + + + + Access the reason why connection is blocked. + + + + Event relating to a successful consumer registration + or cancellation. + + + Construct an event containing the consumer-tag of + the consumer the event relates to. + + + Access the consumer-tag of the consumer the event + relates to. + + + + Initializes a new instance of the class. + + The tag before. + The tag after. + + + + Gets the tag before. + + + + + Gets the tag after. + + + + Experimental class exposing an IBasicConsumer's + methods as separate events. + + + Constructor which sets the Model property to the + given value. + + + Event fired on HandleBasicDeliver. + + + Event fired on HandleBasicConsumeOk. + + + Event fired on HandleModelShutdown. + + + Event fired on HandleBasicCancelOk. + + + Fires the Unregistered event. + + + Fires the Registered event. + + + Fires the Received event. + + + Fires the Shutdown event. + + + + Event relating to flow control. + + + + + Access the flow control setting. + + + + + Initializes a new instance of the class. + + The name before. + The name after. + + + + Gets the name before. + + + + + Gets the name after. + + + + + Describes an exception that was thrown during + automatic connection recovery performed by the library. + + + + Thrown when the application tries to make use of a + session or connection that has already been shut + down. + + + Construct an instance containing the given + shutdown reason. + + + Thrown when the cause is an + authentication failure. + + + Thrown when no connection could be opened during a + ConnectionFactory.CreateConnection attempt. + + + Construct a BrokerUnreachableException. The inner exception is associated + with only one connection attempt. + + + Thrown when a SessionManager cannot allocate a new + channel number, or the requested channel number is already in + use. + + + + Indicates that there are no more free channels. + + + + + Indicates that the specified channel is in use + + The requested channel number + + + Retrieves the channel number concerned; will + return -1 in the case where "no more free channels" is + being signalled, or a non-negative integer when "channel is + in use" is being signalled. + + + Thrown when a connection to the broker fails + + + + Thrown when a session is destroyed during an RPC call to a + broker. For example, if a TCP connection dropping causes the + destruction of a session in the middle of a QueueDeclare + operation, an OperationInterruptedException will be thrown to + the caller of IModel.QueueDeclare. + + + + Construct an OperationInterruptedException with + the passed-in explanation, if any. + + + Construct an OperationInterruptedException with + the passed-in explanation and prefix, if any. + + + Retrieves the explanation for the shutdown. May + return null if no explanation is available. + + + Thrown to indicate that the peer didn't understand + the packet received from the client. Peer sent default message + describing protocol version it is using and transport parameters. + + + The peer's {'A','M','Q','P',txHi,txLo,major,minor} packet is + decoded into instances of this class. + + + + Fills the new instance's properties with the values passed in. + + + The peer's AMQP specification major version. + + + The peer's AMQP specification minor version. + + + The peer's high transport byte. + + + The peer's low transport byte. + + + Thrown when the likely cause is an + authentication failure. + + + Thrown to indicate that the peer does not support the + wire protocol version we requested immediately after opening + the TCP socket. + + + Fills the new instance's properties with the values passed in. + + + The client's AMQP specification major version. + + + The client's AMQP specification minor version. + + + The peer's AMQP specification major version. + + + The peer's AMQP specification minor version. + + + + Thrown when the model receives an RPC reply that it wasn't expecting. + + + + The unexpected reply method. + + + + Thrown when the model receives an RPC request it cannot satisfy. + + + + The name of the RPC request that could not be sent. + + + Thrown when the model cannot transmit a method field + because the version of the protocol the model is implementing + does not contain a definition for the field in + question. + + + The name of the unsupported field. + + + The name of the method involved. + + + Thrown when the wire-formatting code cannot encode a + particular .NET value to AMQP protocol format. + + + Construct a WireFormattingException with no + particular offender (i.e. null) + + + Construct a WireFormattingException with the given + offender + + + Object which this exception is complaining about; + may be null if no particular offender exists + + + API-side invocation of connection abort. + + + API-side invocation of connection abort. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close with timeout. + + + API-side invocation of connection.close with timeout. + + + Heartbeat frame for transmission. Reusable across connections. + + + Another overload of a Protocol property, useful + for exposing a tighter type. + + + Explicit implementation of IConnection.Protocol. + + + Try to close connection in a graceful way + + + Shutdown reason contains code and text assigned when closing the connection, + as well as the information about what initiated the close + + + Abort flag, if true, signals to close the ongoing connection immediately + and do not report any errors if it was already closed. + + + Timeout determines how much time internal close operations should be given + to complete. Negative or Timeout.Infinite value mean infinity. + + + + + + Loop only used while quiescing. Use only to cleanly close connection + + + + + We need to close the socket, otherwise attempting to unload the domain + could cause a CannotUnloadAppDomainException + + + + Broadcasts notification of the final shutdown of the connection. + + + + Sets the channel named in the SoftProtocolException into + "quiescing mode", where we issue a channel.close and + ignore everything except for subsequent channel.close + messages and the channel.close-ok reply that should + eventually arrive. + + + + Since a well-behaved peer will not wait indefinitely before + issuing the close-ok, we don't bother with a timeout here; + compare this to the case of a connection.close-ok, where a + timeout is necessary. + + + We need to send the close method and politely wait for a + reply before marking the channel as available for reuse. + + + As soon as SoftProtocolException is detected, we should stop + servicing ordinary application work, and should concentrate + on bringing down the channel as quickly and gracefully as + possible. The way this is done, as per the close-protocol, + is to signal closure up the stack *before* sending the + channel.close, by invoking ISession.Close. Once the upper + layers have been signalled, we are free to do what we need + to do to clean up and shut down the channel. + + + + + + May be called more than once. Should therefore be idempotent. + + + + API-side invocation of connection abort. + + + API-side invocation of connection abort. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close with timeout. + + + API-side invocation of connection.close with timeout. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Protocol major version (= 0) + + + Protocol minor version (= 9) + + + Protocol revision (= 1) + + + Protocol API name (= :AMQP_0_9_1) + + + Default TCP port (= 5672) + + + (= 1) + + + (= 2) + + + (= 3) + + + (= 8) + + + (= 4096) + + + (= 206) + + + (= 200) + + + (= 311) + + + (= 313) + + + (= 320) + + + (= 402) + + + (= 403) + + + (= 404) + + + (= 405) + + + (= 406) + + + (= 501) + + + (= 502) + + + (= 503) + + + (= 504) + + + (= 505) + + + (= 506) + + + (= 530) + + + (= 540) + + + (= 541) + + + Autogenerated type. AMQP specification method "connection.start". + + + Autogenerated type. AMQP specification method "connection.start-ok". + + + Autogenerated type. AMQP specification method "connection.secure". + + + Autogenerated type. AMQP specification method "connection.secure-ok". + + + Autogenerated type. AMQP specification method "connection.tune". + + + Autogenerated type. AMQP specification method "connection.tune-ok". + + + Autogenerated type. AMQP specification method "connection.open". + + + Autogenerated type. AMQP specification method "connection.open-ok". + + + Autogenerated type. AMQP specification method "connection.close". + + + Autogenerated type. AMQP specification method "connection.close-ok". + + + Autogenerated type. AMQP specification method "connection.blocked". + + + Autogenerated type. AMQP specification method "connection.unblocked". + + + Autogenerated type. AMQP specification method "channel.open". + + + Autogenerated type. AMQP specification method "channel.open-ok". + + + Autogenerated type. AMQP specification method "channel.flow". + + + Autogenerated type. AMQP specification method "channel.flow-ok". + + + Autogenerated type. AMQP specification method "channel.close". + + + Autogenerated type. AMQP specification method "channel.close-ok". + + + Autogenerated type. AMQP specification method "exchange.declare". + + + Autogenerated type. AMQP specification method "exchange.declare-ok". + + + Autogenerated type. AMQP specification method "exchange.delete". + + + Autogenerated type. AMQP specification method "exchange.delete-ok". + + + Autogenerated type. AMQP specification method "exchange.bind". + + + Autogenerated type. AMQP specification method "exchange.bind-ok". + + + Autogenerated type. AMQP specification method "exchange.unbind". + + + Autogenerated type. AMQP specification method "exchange.unbind-ok". + + + Autogenerated type. AMQP specification method "queue.declare". + + + Autogenerated type. AMQP specification method "queue.declare-ok". + + + Autogenerated type. AMQP specification method "queue.bind". + + + Autogenerated type. AMQP specification method "queue.bind-ok". + + + Autogenerated type. AMQP specification method "queue.unbind". + + + Autogenerated type. AMQP specification method "queue.unbind-ok". + + + Autogenerated type. AMQP specification method "queue.purge". + + + Autogenerated type. AMQP specification method "queue.purge-ok". + + + Autogenerated type. AMQP specification method "queue.delete". + + + Autogenerated type. AMQP specification method "queue.delete-ok". + + + Autogenerated type. AMQP specification method "basic.qos". + + + Autogenerated type. AMQP specification method "basic.qos-ok". + + + Autogenerated type. AMQP specification method "basic.consume". + + + Autogenerated type. AMQP specification method "basic.consume-ok". + + + Autogenerated type. AMQP specification method "basic.cancel". + + + Autogenerated type. AMQP specification method "basic.cancel-ok". + + + Autogenerated type. AMQP specification method "basic.publish". + + + Autogenerated type. AMQP specification method "basic.return". + + + Autogenerated type. AMQP specification method "basic.deliver". + + + Autogenerated type. AMQP specification method "basic.get". + + + Autogenerated type. AMQP specification method "basic.get-ok". + + + Autogenerated type. AMQP specification method "basic.get-empty". + + + Autogenerated type. AMQP specification method "basic.ack". + + + Autogenerated type. AMQP specification method "basic.reject". + + + Autogenerated type. AMQP specification method "basic.recover-async". + + + Autogenerated type. AMQP specification method "basic.recover". + + + Autogenerated type. AMQP specification method "basic.recover-ok". + + + Autogenerated type. AMQP specification method "basic.nack". + + + Autogenerated type. AMQP specification method "tx.select". + + + Autogenerated type. AMQP specification method "tx.select-ok". + + + Autogenerated type. AMQP specification method "tx.commit". + + + Autogenerated type. AMQP specification method "tx.commit-ok". + + + Autogenerated type. AMQP specification method "tx.rollback". + + + Autogenerated type. AMQP specification method "tx.rollback-ok". + + + Autogenerated type. AMQP specification method "confirm.select". + + + Autogenerated type. AMQP specification method "confirm.select-ok". + + + Autogenerated type. AMQP specification content header properties for content class "basic" + + + + Application Id. + + + + + Intra-cluster routing identifier (cluster id is deprecated in AMQP 0-9-1). + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Application correlation identifier. + + + + + Non-persistent (1) or persistent (2). + + + + + Message expiration specification. + + + + + Message header field table. Is of type . + + + + + Application message Id. + + + + + Sets to either persistent (2) or non-persistent (1). + + + + + Message priority, 0 to 9. + + + + + Destination to reply to. + + + + + Convenience property; parses property using , + and serializes it using . + Returns null if property cannot be parsed by . + + + + + Message timestamp. + + + + + Message type name. + + + + + User Id. + + + + + Clear the property. + + + + + Clear the property (cluster id is deprecated in AMQP 0-9-1). + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the Type property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present (cluster id is deprecated in AMQP 0-9-1). + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the Type property is present. + + + + + Returns true if the UserId property is present. + + + + Sets to either persistent (2) or non-persistent (1). + + + The numbers 1 and 2 for delivery mode are "magic" in that + they appear in the AMQP 0-8 and 0-9 specifications as part + of the definition of the DeliveryMode Basic-class property, + without being defined as named constants. + + + Calling this method causes to take on a value. + In order to reset to the default empty condition, call . + + + + + Thrown when the server sends a frame along a channel + that we do not currently have a Session entry in our + SessionManager for. + + + The channel number concerned. + + + + Retrieve the AMQP class ID of this content header. + + + + + Retrieve the AMQP class name of this content header. + + + + + Fill this instance from the given byte buffer stream. + + + + A type of . + + + + Returns a random item from the list. + + Element item type + Input list + + + + Subclass of ProtocolException representing problems + requiring a connection.close. + + + Socket read timeout, in milliseconds. Zero signals "infinity". + + + Socket write timeout, in milliseconds. Zero signals "infinity". + + + Read a frame from the underlying + transport. Returns null if the read operation timed out + (see Timeout property). + + + Not part of the public API. Extension of IModel to + include utilities and connection-setup routines needed by the + implementation side. + + This interface is used by the API autogeneration + process. The AMQP XML specifications are read by the spec + compilation tool, and after the basic method interface and + implementation classes are generated, this interface is + scanned, and a spec-version-specific implementation is + autogenerated. Annotations are used on certain methods, return + types, and parameters, to customise the details of the + autogeneration process. + + + + + + Sends a Connection.TuneOk. Used during connection + initialisation. + + + Handle incoming Basic.Ack methods. Signals a + BasicAckEvent. + + + Handle incoming Basic.CancelOk methods. + + + Handle incoming Basic.ConsumeOk methods. + + + Handle incoming Basic.Deliver methods. Dispatches + to waiting consumers. + + + Handle incoming Basic.GetEmpty methods. Routes the + information to a waiting Basic.Get continuation. + + Note that the clusterId field is ignored, as in the + specification it notes that it is "deprecated pending + review". + + + + Handle incoming Basic.GetOk methods. Routes the + information to a waiting Basic.Get continuation. + + + Handle incoming Basic.Nack methods. Signals a + BasicNackEvent. + + + Handle incoming Basic.RecoverOk methods + received in reply to Basic.Recover. + + + + Handle incoming Basic.Return methods. Signals a + BasicReturnEvent. + + + Handle an incoming Channel.Close. Shuts down the + session and model. + + + Handle an incoming Channel.CloseOk. + + + Handle incoming Channel.Flow methods. Either + stops or resumes sending the methods that have content. + + + Handle an incoming Connection.Blocked. + + + Handle an incoming Connection.Close. Shuts down the + connection and all sessions and models. + + + Handle an incoming Connection.OpenOk. + + + Handle incoming Connection.Secure + methods. + + + Handle an incoming Connection.Start. Used during + connection initialisation. + + + Handle incoming Connection.Tune + methods. + + + Handle an incominga Connection.Unblocked. + + + Handle incoming Queue.DeclareOk methods. Routes the + information to a waiting Queue.DeclareOk continuation. + + + Used to send a Basic.Cancel method. The public + consume API calls this while also managing internal + datastructures. + + + Used to send a Basic.Consume method. The public + consume API calls this while also managing internal + datastructures. + + + Used to send a Basic.Get. Basic.Get is a special + case, since it can result in a Basic.GetOk or a + Basic.GetEmpty, so this level of manual control is + required. + + + Used to send a Basic.Publish method. Called by the + public publish method after potential null-reference issues + have been rectified. + + + Used to send a Channel.Close. Called during + session shutdown. + + + Used to send a Channel.CloseOk. Called during + session shutdown. + + + Used to send a Channel.FlowOk. Confirms that + Channel.Flow from the broker was processed. + + + Used to send a Channel.Open. Called during session + initialisation. + + + Used to send a Confirm.Select method. The public + confirm API calls this while also managing internal + datastructures. + + + Used to send a Connection.Close. Called during + connection shutdown. + + + Used to send a Connection.CloseOk. Called during + connection shutdown. + + + Used to send a Connection.Open. Called during + connection startup. + + + Used to send a Connection.SecureOk. Again, this is + special, like Basic.Get. + + + Used to send a Connection.StartOk. This is + special, like Basic.Get. + + + Used to send a Exchange.Bind method. Called by the + public bind method. + + + + Used to send a Exchange.Declare method. Called by the + public declare method. + + + + Used to send a Exchange.Delete method. Called by the + public delete method. + + + + Used to send a Exchange.Unbind method. Called by the + public unbind method. + + + + Used to send a Queue.Bind method. Called by the + public bind method. + + + Used to send a Queue.Declare method. Called by the + public declare method. + + + Used to send a Queue.Delete method. Called by the + public delete method. + + + Used to send a Queue.Purge method. Called by the + public purge method. + + + Essential information from an incoming Connection.Tune + method. + + + The peer's suggested channel-max parameter. + + + The peer's suggested frame-max parameter. + + + The peer's suggested heartbeat parameter. + + + + Gets the channel number. + + + + + Gets the close reason. + + + + + Single recipient - no need for multiple handlers to be informed of arriving commands. + + + + + Gets the connection. + + + + + Gets a value indicating whether this session is open. + + + + + Multicast session shutdown event. + + + + Small ISession implementation used only for channel 0. + + + Set channel 0 as quiescing + + Method should be idempotent. Cannot use base.Close + method call because that would prevent us from + sending/receiving Close/CloseOk commands + + + + Thrown when frame parsing code detects an error in the + wire-protocol encoding of a frame. + + For example, potential MalformedFrameException conditions + include frames too short, frames missing their end marker, and + invalid protocol negotiation headers. + + + + + Retrieves the class ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the method ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the name of this method - for debugging use. + + + + Only used to kick-start a connection open + sequence. See + + + Broadcasts notification of the final shutdown of the model. + + + Do not call anywhere other than at the end of OnSessionShutdown. + + + Must not be called when m_closeReason == null, because + otherwise there's a window when a new continuation could be + being enqueued at the same time as we're broadcasting the + shutdown event. See the definition of Enqueue() above. + + + + + Handle incoming Connection.Tune + methods. + + + Instances of subclasses of subclasses + HardProtocolException and SoftProtocolException are thrown in + situations when we detect a problem with the connection-, + channel- or wire-level parts of the AMQP protocol. + + + Retrieve the reply code to use in a + connection/channel close method. + + + Retrieve the shutdown details to use in a + connection/channel close method. Defaults to using + ShutdownInitiator.Library, and this.ReplyCode and + this.Message as the reply code and text, + respectively. + + + Small ISession implementation used during channel quiescing. + + + Manages a queue of waiting AMQP RPC requests. + + + Currently, pipelining of requests is forbidden by this + implementation. The AMQP 0-8 and 0-9 specifications themselves + forbid pipelining, but only by the skin of their teeth and + under a somewhat generous reading. + + + + + Enqueue a continuation, marking a pending RPC. + + + Continuations are retrieved in FIFO order by calling Next(). + + + In the current implementation, only one continuation can + be queued up at once. Calls to Enqueue() when a + continuation is already enqueued will result in + NotSupportedException being thrown. + + + + + Interrupt all waiting continuations. + + + There's just the one potential waiter in the current + implementation. + + + + + Retrieve the next waiting continuation. + + + It is an error to call this method when there are no + waiting continuations. In the current implementation, if + this happens, null will be returned (which will usually + result in an immediate NullPointerException in the + caller). Correct code will always arrange for a + continuation to have been Enqueue()d before calling this + method. + + + + + Normal ISession implementation used during normal channel operation. + + + Called from CheckAutoClose, in a separate thread, + when we decide to close the connection. + + + If m_autoClose and there are no active sessions + remaining, Close()s the connection with reason code + 200. + + + Replace an active session slot with a new ISession + implementation. Used during channel quiescing. + + Make sure you pass in a channelNumber that's currently in + use, as if the slot is unused, you'll get a null pointer + exception. + + + + Subclass of ProtocolException representing problems + requiring a channel.close. + + + Thrown when our peer sends a frame that contains + illegal values for one or more fields. + + + + Thrown when the connection receives a frame that it wasn't expecting. + + + + + Thrown when the protocol handlers detect an unknown class + number or method number. + + + + The AMQP content-class ID. + + + The AMQP method ID within the content-class, or 0 if none. + + + Reads an AMQP "table" definition from the reader. + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t, + x and V types and the AMQP 0-9-1 A type. + + A . + + + Writes an AMQP "table" to the writer. + + + In this method, we assume that the stream that backs our + NetworkBinaryWriter is a positionable stream - which it is + currently (see Frame.m_accumulator, Frame.GetWriter and + Command.Transmit). + + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t + x and V types and the AMQP 0-9-1 A type. + + + + + Writes an AMQP "table" to the writer. + + + In this method, we assume that the stream that backs our + NetworkBinaryWriter is a positionable stream - which it is + currently (see Frame.m_accumulator, Frame.GetWriter and + Command.Transmit). + + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t + x and V types and the AMQP 0-9-1 A type. + + + + + Base class for attributes for controlling the API + autogeneration process. + + + The specification namespace (i.e. version) that + this attribute applies to, or null for all specification + versions. + + + Causes the API generator to ignore the attributed method. + + Mostly used to declare convenience overloads of + various AMQP methods in the IModel interface. Also used + to omit an autogenerated implementation of a method which + is not required for one protocol version. The API + autogeneration process should of course not attempt to produce + an implementation of the convenience methods, as they will be + implemented by hand with sensible defaults, delegating to the + autogenerated variant of the method concerned. + + + Causes the API generator to generate asynchronous + receive code for the attributed method. + + + Causes the API generator to generate + exception-throwing code for, instead of simply ignoring, the + attributed method. + + + + + Informs the API generator which AMQP method field to + use for either a parameter in a request, or for a simple result + in a reply. + + + Informs the API generator which AMQP method to use for + either a request (if applied to an IModel method) or a reply + (if applied to an IModel method result). + + + This attribute, if placed on a parameter in an IModel + method, causes it to be interpreted as a "nowait" parameter for + the purposes of autogenerated RPC reply continuation management + and control. + + + This attribute, if placed on a method in IModel, + causes the method to be interpreted as a factory method + producing a protocol-specific implementation of a common + content header interface. + + + This attribute, if placed on a parameter in a + content-carrying IModel method, causes it to be sent as part of + the content header frame. + + + This attribute, if placed on a parameter in a + content-carrying IModel method, causes it to be sent as part of + the content body frame. + + + This attribute, placed on an IModel method, causes + what would normally be an RPC, sent with ModelRpc, to be sent + as if it were oneway, with ModelSend. The assumption that this + is for a custom continuation (e.g. for BasicConsume/BasicCancel + etc.) + + + + Simple wrapper around TcpClient. + + + + Manages a subscription to a queue. + + + This interface is provided to make creation of test doubles + for easier. + + + + + Implements a simple RPC client. + + + This class sends requests that can be processed by remote + SimpleRpcServer instances. + + + The basic pattern for accessing a remote service is to + determine the exchange name and routing key needed for + submissions of service requests, and to construct a + SimpleRpcClient instance using that address. Once constructed, + the various Call() and Cast() overloads can be used to send + requests and receive the corresponding replies. + + + string queueName = "ServiceRequestQueue"; // See also Subscription ctors + using (IConnection conn = new ConnectionFactory() + .CreateConnection(serverAddress)) { + using (IModel ch = conn.CreateModel()) { + SimpleRpcClient client = + new SimpleRpcClient(ch, queueName); + client.TimeoutMilliseconds = 5000; // optional + + /// ... make use of the various Call() overloads + } + } + + + Instances of this class declare a queue, so it is the user's + responsibility to ensure that the exchange concerned exists + (using IModel.ExchangeDeclare) before invoking Call() or + Cast(). + + + This class implements only a few basic RPC message formats - + to extend it with support for more formats, either subclass, + or transcode the messages before transmission using the + built-in byte[] format. + + + + + + Construct an instance with no configured + Address. The Address property must be set before Call() or + Cast() are called. + + + Construct an instance that will deliver to the + default exchange (""), with routing key equal to the passed + in queueName, thereby delivering directly to a named queue + on the AMQP server. + + + Construct an instance that will deliver to the + named and typed exchange, with the given routing + key. + + + Construct an instance that will deliver to the + given address. + + + This event is fired whenever Call() detects the + disconnection of the underlying Subscription while waiting + for a reply from the service. + + See also OnDisconnected(). Note that the sending of a + request may result in OperationInterruptedException before + the request is even sent. + + + + This event is fired whenever Call() decides that a + timeout has occurred while waiting for a reply from the + service. + + See also OnTimedOut(). + + + + Retrieve or modify the address that will be used + for the next Call() or Cast(). + + This address represents the service, i.e. the destination + service requests should be published to. It can be changed + at any time before a Call() or Cast() request is sent - + the value at the time of the call is used by Call() and + Cast(). + + + + Retrieve the IModel this instance uses to communicate. + + + Retrieve the Subscription that is used to receive + RPC replies corresponding to Call() RPC requests. May be + null. + + + Upon construction, this property will be null. It is + initialised by the protected virtual method + EnsureSubscription upon the first call to Call(). Calls to + Cast() do not initialise the subscription, since no + replies are expected or possible when using Cast(). + + + + + Retrieve or modify the timeout (in milliseconds) + that will be used for the next Call(). + + + This property defaults to + System.Threading.Timeout.Infinite (i.e. -1). If it is set + to any other value, Call() will only wait for the + specified amount of time before returning indicating a + timeout. + + + See also TimedOut event and OnTimedOut(). + + + + + Sends a "jms/stream-message"-encoded RPC request, + and expects an RPC reply in the same format. + + + The arguments passed in must be of types that are + representable as JMS StreamMessage values, and so must the + results returned from the service in its reply message. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + + + Sends a simple byte[] message, without any custom + headers or properties. + + + Delegates directly to Call(IBasicProperties, byte[]), and + discards the properties of the received reply, returning + only the body of the reply. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + Sends a byte[] message and IBasicProperties + header, returning both the body and headers of the received + reply. + + + Sets the "replyProperties" outbound parameter to the + properties of the received reply, and returns the byte[] + body of the reply. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Both sets "replyProperties" to null and returns null when + either the request timed out or we were disconnected + before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + Sends a byte[]/IBasicProperties RPC request, + returning full information about the delivered reply as a + BasicDeliverEventArgs. + + + This is the most general/lowest-level Call()-style method + on SimpleRpcClient. It sets CorrelationId and ReplyTo on + the request message's headers before transmitting the + request to the service via the AMQP server. If the reply's + CorrelationId does not match the request's CorrelationId, + ProtocolViolationException will be thrown. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + + Sends an asynchronous/one-way message to the + service. + + + Close the reply subscription associated with this instance, if any. + + Simply delegates to calling Subscription.Close(). Clears + the Subscription property, so that subsequent Call()s, if + any, will re-initialize it to a fresh Subscription + instance. + + + + Signals that the Subscription we use for receiving + our RPC replies was disconnected while we were + waiting. + + Fires the Disconnected event. + + + + Signals that the configured timeout fired while + waiting for an RPC reply. + + Fires the TimedOut event. + + + + Implement the IDisposable interface, permitting + SimpleRpcClient instances to be used in using + statements. + + + Should initialise m_subscription to be non-null + and usable for fetching RPC replies from the service + through the AMQP server. + + + Retrieves the reply for the request with the given + correlation ID from our internal Subscription. + + Currently requires replies to arrive in the same order as + the requests were sent out. Subclasses may override this + to provide more sophisticated behaviour. + + + + Implements a simple RPC service, responding to + requests received via a Subscription. + + + This class interprets requests such as those sent by instances + of SimpleRpcClient. + + + The basic pattern for implementing a service is to subclass + SimpleRpcServer, overriding HandleCall and HandleCast as + appropriate, and then to create a Subscription object for + receiving requests from clients, and start an instance of the + SimpleRpcServer subclass with the Subscription. + + + string queueName = "ServiceRequestQueue"; // See also Subscription ctors + using (IConnection conn = new ConnectionFactory() + .CreateConnection(serverAddress)) { + using (IModel ch = conn.CreateModel()) { + Subscription sub = new Subscription(ch, queueName); + new MySimpleRpcServerSubclass(sub).MainLoop(); + } + } + + + Note that this class itself does not declare any resources + (exchanges, queues or bindings). The Subscription we use for + receiving RPC requests should have already declared all the + resources we need. See the Subscription constructors and the + Subscription.Bind method. + + + If you are implementing a service that responds to + "jms/stream-message"-formatted requests (as implemented by + RabbitMQ.Client.Content.IStreamMessageReader), override + HandleStreamMessageCall. Otherwise, override HandleSimpleCall + or HandleCall as appropriate. Asynchronous, one-way requests + are dealt with by HandleCast etc. + + + Every time a request is successfully received and processed + within the server's MainLoop, the request message is Ack()ed + using Subscription.Ack before the next request is + retrieved. This causes the Subscription object to take care of + acknowledging receipt and processing of the request message. + + + If transactional service is enabled, via SetTransactional(), + then after every successful ProcessRequest, IModel.TxCommit is + called. Making use of transactional service has effects on all + parts of the application that share an IModel instance, + completely changing the style of interaction with the AMQP + server. For this reason, it is initially disabled, and must be + explicitly enabled with a call to SetTransactional(). Please + see the documentation for SetTransactional() for details. + + + To stop a running RPC server, call Close(). This will in turn + Close() the Subscription, which will cause MainLoop() to + return to its caller. + + + Unless overridden, ProcessRequest examines properties in the + request content header, and uses them to dispatch to one of + the Handle[...]() methods. See the documentation for + ProcessRequest and each Handle[...] method for details. + + + + + + Create, but do not start, an instance that will + receive requests via the given Subscription. + + + The instance is initially in non-transactional mode. See + SetTransactional(). + + + Call MainLoop() to start the request-processing loop. + + + + + Returns true if we are in "transactional" mode, or + false if we are not. + + + Shut down the server, causing MainLoop() to return + to its caller. + + Acts by calling Close() on the server's Subscription object. + + + + Called by ProcessRequest(), this is the most + general method that handles RPC-style requests. + + + This method should map requestProperties and body to + replyProperties and the returned byte array. + + + The default implementation checks + requestProperties.ContentType, and if it is + "jms/stream-message" (i.e. the current value of + StreamMessageBuilder.MimeType), parses it using + StreamMessageReader and delegates to + HandleStreamMessageCall before encoding and returning the + reply. If the ContentType is any other value, the request + is passed to HandleSimpleCall instead. + + + The isRedelivered flag is true when the server knows for + sure that it has tried to send this request previously + (although not necessarily to this application). It is not + a reliable indicator of previous receipt, however - the + only claim it makes is that a delivery attempt was made, + not that the attempt succeeded. Be careful if you choose + to use the isRedelivered flag. + + + + + Called by ProcessRequest(), this is the most + general method that handles asynchronous, one-way + requests. + + + The default implementation checks + requestProperties.ContentType, and if it is + "jms/stream-message" (i.e. the current value of + StreamMessageBuilder.MimeType), parses it using + StreamMessageReader and delegates to + HandleStreamMessageCall, passing in null as the + replyWriter parameter to indicate that no reply is desired + or possible. If the ContentType is any other value, the + request is passed to HandleSimpleCast instead. + + + The isRedelivered flag is true when the server knows for + sure that it has tried to send this request previously + (although not necessarily to this application). It is not + a reliable indicator of previous receipt, however - the + only claim it makes is that a delivery attempt was made, + not that the attempt succeeded. Be careful if you choose + to use the isRedelivered flag. + + + + + Called by the default HandleCall() implementation + as a fallback. + + If the MIME ContentType of the request did not match any + of the types specially recognised + (e.g. "jms/stream-message"), this method is called instead + with the raw bytes of the request. It should fill in + replyProperties (or set it to null) and return a byte + array to send back to the remote caller as a reply + message. + + + + Called by the default HandleCast() implementation + as a fallback. + + If the MIME ContentType of the request did not match any + of the types specially recognised + (e.g. "jms/stream-message"), this method is called instead + with the raw bytes of the request. + + + + Called by HandleCall and HandleCast when a + "jms/stream-message" request is received. + + + The args array contains the values decoded by HandleCall + or HandleCast. + + + The replyWriter parameter will be null if we were called + from HandleCast, in which case a reply is not expected or + possible, or non-null if we were called from + HandleCall. Use the methods of replyWriter in this case to + assemble your reply, which will be sent back to the remote + caller. + + + This default implementation does nothing, which + effectively sends back an empty reply to any and all + remote callers. + + + + + Enters the main loop of the RPC service. + + + Retrieves requests repeatedly from the service's + subscription. Each request is passed to + ProcessRequest. Once ProcessRequest returns, the request + is acknowledged via Subscription.Ack(). If transactional + mode is enabled, TxCommit is then called. Finally, the + loop begins again. + + + Runs until the subscription ends, which happens either as + a result of disconnection, or of a call to Close(). + + + + + Process a single request received from our + subscription. + + + If the request's properties contain a non-null, non-empty + CorrelationId string (see IBasicProperties), it is assumed + to be a two-way call, requiring a response. The ReplyTo + header property is used as the reply address (via + PublicationAddress.Parse, unless that fails, in which case it + is treated as a simple queue name), and the request is + passed to HandleCall(). + + + If the CorrelationId is absent or empty, the request is + treated as one-way asynchronous event, and is passed to + HandleCast(). + + + Usually, overriding HandleCall(), HandleCast(), or one of + their delegates is sufficient to implement a service, but + in some cases overriding ProcessRequest() is + required. Overriding ProcessRequest() gives the + opportunity to implement schemes for detecting interaction + patterns other than simple request/response or one-way + communication. + + + + + Enables transactional mode. + + + Once enabled, transactional mode is not only enabled for + all users of the underlying IModel instance, but cannot be + disabled without shutting down the entire IModel (which + involves shutting down all the services depending on it, + and should not be undertaken lightly). + + + This method calls IModel.TxSelect, every time it is + called. (TxSelect is idempotent, so this is harmless.) + + + + + Implement the IDisposable interface, permitting + SimpleRpcServer instances to be used in using + statements. + + + Manages a subscription to a queue. + + + This convenience class abstracts away from much of the detail + involved in receiving messages from a queue. + + + Once created, the Subscription consumes from a queue (using a + EventingBasicConsumer). Received deliveries can be retrieved + by calling Next(), or by using the Subscription as an + IEnumerator in, for example, a foreach loop. + + + Note that if the "noAck" option is enabled (which it is by + default), then received deliveries are automatically acked + within the server before they are even transmitted across the + network to us. Calling Ack() on received events will always do + the right thing: if "noAck" is enabled, nothing is done on an + Ack() call, and if "noAck" is disabled, IModel.BasicAck() is + called with the correct parameters. + + + + + Creates a new Subscription in "noAck" mode, + consuming from a named queue. + + + Creates a new Subscription, with full control over + both "noAck" mode and the name of the queue. + + + Creates a new Subscription, with full control over + both "noAck" mode, the name of the queue, and the consumer tag. + + + Retrieve the IBasicConsumer that is receiving the + messages from the server for us. Normally, you will not + need to access this property - use Next() and friends + instead. + + + Retrieve the consumer-tag that this subscription + is using. Will usually be a server-generated + name. + + + Returns the most recent value returned by Next(), + or null when either no values have been retrieved yet, the + end of the subscription has been reached, or the most + recent value has already been Ack()ed. See also the + documentation for Ack(). + + + Retrieve the IModel our subscription is carried by. + + + Returns true if we are in "noAck" mode, where + calls to Ack() will be no-ops, and where the server acks + messages before they are delivered to us. Returns false if + we are in a mode where calls to Ack() are required, and + where such calls will actually send an acknowledgement + message across the network to the server. + + + Retrieve the queue name we have subscribed to. + + + Implementation of the IEnumerator interface, for + permitting Subscription to be used in foreach + loops. + + + As per the IEnumerator interface definition, throws + InvalidOperationException if LatestEvent is null. + + + Does not acknowledge any deliveries at all. Ack() must be + called explicitly on received deliveries. + + + + + If LatestEvent is non-null, passes it to + Ack(BasicDeliverEventArgs). Causes LatestEvent to become + null. + + + If we are not in "noAck" mode, calls + IModel.BasicAck with the delivery-tag from ; + otherwise, sends nothing to the server. if is the same as LatestEvent + by pointer comparison, sets LatestEvent to null. + + + Passing an event that did not originate with this Subscription's + channel, will lead to unpredictable behaviour + + + + Closes this Subscription, cancelling the consumer + record in the server. + + + If LatestEvent is non-null, passes it to + Nack(BasicDeliverEventArgs, false, requeue). Causes LatestEvent to become + null. + + + If LatestEvent is non-null, passes it to + Nack(BasicDeliverEventArgs, multiple, requeue). Causes LatestEvent to become + null. + + + If we are not in "noAck" mode, calls + IModel.BasicNack with the delivery-tag from ; + otherwise, sends nothing to the server. if is the same as LatestEvent + by pointer comparison, sets LatestEvent to null. + + + Passing an event that did not originate with this Subscription's + channel, will lead to unpredictable behaviour + + + + Retrieves the next incoming delivery in our + subscription queue. + + + Returns null when the end of the stream is reached and on + every subsequent call. End-of-stream can arise through the + action of the Subscription.Close() method, or through the + closure of the IModel or its underlying IConnection. + + + Updates LatestEvent to the value returned. + + + Does not acknowledge any deliveries at all (but in "noAck" + mode, the server will have auto-acknowledged each event + before it is even sent across the wire to us). + + + + + Retrieves the next incoming delivery in our + subscription queue, or times out after a specified number + of milliseconds. + + + Returns false only if the timeout expires before either a + delivery appears or the end-of-stream is reached. If false + is returned, the out parameter "result" is set to null, + but LatestEvent is not updated. + + + Returns true to indicate a delivery or the end-of-stream. + + + If a delivery is already waiting in the queue, or one + arrives before the timeout expires, it is removed from the + queue and placed in the "result" out parameter. If the + end-of-stream is detected before the timeout expires, + "result" is set to null. + + + Whenever this method returns true, it updates LatestEvent + to the value placed in "result" before returning. + + + End-of-stream can arise through the action of the + Subscription.Close() method, or through the closure of the + IModel or its underlying IConnection. + + + This method does not acknowledge any deliveries at all + (but in "noAck" mode, the server will have + auto-acknowledged each event before it is even sent across + the wire to us). + + + A timeout of -1 (i.e. System.Threading.Timeout.Infinite) + will be interpreted as a command to wait for an + indefinitely long period of time for an item or the end of + the stream to become available. Usage of such a timeout is + equivalent to calling Next() with no arguments (modulo + predictable method signature differences). + + + + + Implementation of the IDisposable interface, + permitting Subscription to be used in using + statements. Simply calls Close(). + + + Implementation of the IEnumerable interface, for + permitting Subscription to be used in foreach + loops. + + + Implementation of the IEnumerator interface, for + permitting Subscription to be used in foreach + loops. + + + Does not acknowledge any deliveries at all. Ack() must be + called explicitly on received deliveries. + + + + + Dummy implementation of the IEnumerator interface, + for permitting Subscription to be used in foreach loops; + Reset()ting a Subscription doesn't make sense, so this + method always throws InvalidOperationException. + + + A thread-safe single-assignment reference cell. + + A fresh BlockingCell holds no value (is empty). Any thread + reading the Value property when the cell is empty will block + until a value is made available by some other thread. The Value + property can only be set once - on the first call, the + BlockingCell is considered full, and made immutable. Further + attempts to set Value result in a thrown + InvalidOperationException. + + + + Retrieve the cell's value, blocking if none exists + at present, or supply a value to an empty cell, thereby + filling it. + + + + Return valid timeout value + If value of the parameter is less then zero, return 0 + to mean infinity + + + Retrieve the cell's value, waiting for the given + timeout if no value is immediately available. + + + If a value is present in the cell at the time the call is + made, the call will return immediately. Otherwise, the + calling thread blocks until either a value appears, or + operation times out. + + + If no value was available before the timeout, an exception + is thrown. + + + + + Retrieve the cell's value, waiting for the given + timeout if no value is immediately available. + + + If a value is present in the cell at the time the call is + made, the call will return immediately. Otherwise, the + calling thread blocks until either a value appears, or + operation times out. + + + If no value was available before the timeout, an exception + is thrown. + + + + + Miscellaneous debugging and development utilities. + + Not part of the public API. + + + + Print a hex dump of the supplied bytes to stdout. + + + Print a hex dump of the supplied bytes to the supplied TextWriter. + + + Prints an indented key/value pair; used by DumpProperties() + Recurses into the value using DumpProperties(). + + + Dump properties of objects to the supplied writer. + + + Used internally by class Either. + + + Models the disjoint union of two alternatives, a + "left" alternative and a "right" alternative. + Borrowed from ML, Haskell etc. + + + Private constructor. Use the static methods Left, Right instead. + + + Retrieve the alternative represented by this instance. + + + Retrieve the value carried by this instance. + + + Constructs an Either instance representing a Left alternative. + + + Constructs an Either instance representing a Right alternative. + + + A class for allocating integer IDs in a given range. + + + A class representing a list of inclusive intervals + Creates an IntAllocator allocating integer IDs within the inclusive range [start, end] + + + Allocate a fresh integer from the range, or return -1 if no more integers + are available. This operation is guaranteed to run in O(1) + + + Make the provided integer available for allocation again. This operation + runs in amortized O(sqrt(range size)) time: About every sqrt(range size) + operations will take O(range_size + number of intervals) to complete and + the rest run in constant time. + + No error checking is performed, so if you double Free or Free an integer + that was not originally Allocated the results are undefined. Sorry. + + + + Subclass of BinaryReader that reads integers etc in correct network order. + + + + Kludge to compensate for .NET's broken little-endian-only BinaryReader. + Relies on BinaryReader always being little-endian. + + + + + + Construct a NetworkBinaryReader over the given input stream. + + + + + Construct a NetworkBinaryReader over the given input + stream, reading strings using the given encoding. + + + + Helper method for constructing a temporary + BinaryReader over a byte[]. + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Subclass of BinaryWriter that writes integers etc in correct network order. + + + +

+ Kludge to compensate for .NET's broken little-endian-only BinaryWriter. +

+ See also NetworkBinaryReader. +

+
+
+ + + Construct a NetworkBinaryWriter over the given input stream. + + + + + Construct a NetworkBinaryWriter over the given input + stream, reading strings using the given encoding. + + + + Helper method for constructing a temporary + BinaryWriter streaming into a fresh MemoryStream + provisioned with the given initialSize. + + + Helper method for extracting the byte[] contents + of a BinaryWriter over a MemoryStream, such as constructed + by TemporaryBinaryWriter. + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + A thread-safe shared queue implementation. + + + A thread-safe shared queue implementation. + + + Flag holding our current status. + + + The shared queue. + + Subclasses must ensure appropriate locking discipline when + accessing this field. See the implementation of Enqueue, + Dequeue. + + + + Close the queue. Causes all further Enqueue() + operations to throw EndOfStreamException, and all pending + or subsequent Dequeue() operations to throw an + EndOfStreamException once the queue is empty. + + + Retrieve the first item from the queue, or block if none available + + Callers of Dequeue() will block if no items are available + until some other thread calls Enqueue() or the queue is + closed. In the latter case this method will throw + EndOfStreamException. + + + + Retrieve the first item from the queue, or return + nothing if no items are available after the given + timeout + + + If one or more items are present on the queue at the time + the call is made, the call will return + immediately. Otherwise, the calling thread blocks until + either an item appears on the queue, or + millisecondsTimeout milliseconds have elapsed. + + + Returns true in the case that an item was available before + the timeout, in which case the out parameter "result" is + set to the item itself. + + + If no items were available before the timeout, returns + false, and sets "result" to null. + + + A timeout of -1 (i.e. System.Threading.Timeout.Infinite) + will be interpreted as a command to wait for an + indefinitely long period of time for an item to become + available. Usage of such a timeout is equivalent to + calling Dequeue() with no arguments. See also the MSDN + documentation for + System.Threading.Monitor.Wait(object,int). + + + If no items are present and the queue is in a closed + state, or if at any time while waiting the queue + transitions to a closed state (by a call to Close()), this + method will throw EndOfStreamException. + + + + + Retrieve the first item from the queue, or return + defaultValue immediately if no items are + available + + + If one or more objects are present in the queue at the + time of the call, the first item is removed from the queue + and returned. Otherwise, the defaultValue that was passed + in is returned immediately. This defaultValue may be null, + or in cases where null is part of the range of the queue, + may be some other sentinel object. The difference between + DequeueNoWait() and Dequeue() is that DequeueNoWait() will + not block when no items are available in the queue, + whereas Dequeue() will. + + + If at the time of call the queue is empty and in a + closed state (following a call to Close()), then this + method will throw EndOfStreamException. + + + + + Place an item at the end of the queue. + + If there is a thread waiting for an item to arrive, the + waiting thread will be woken, and the newly Enqueued item + will be passed to it. If the queue is closed on entry to + this method, EndOfStreamException will be thrown. + + + + Implementation of the IEnumerable interface, for + permitting SharedQueue to be used in foreach + loops. + + + Implementation of the IEnumerable interface, for + permitting SharedQueue to be used in foreach + loops. + + + Call only when the lock on m_queue is held. + + + + Implementation of the IEnumerator interface, for + permitting SharedQueue to be used in foreach loops. + + + Construct an enumerator for the given + SharedQueue. + + + Reset()ting a SharedQueue doesn't make sense, so + this method always throws + InvalidOperationException. + +
+
diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.dll b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.dll new file mode 100644 index 00000000..de2bda8d Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.xml b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.xml new file mode 100644 index 00000000..a0895dd9 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/lib/netstandard1.5/RabbitMQ.Client.xml @@ -0,0 +1,6632 @@ + + + + RabbitMQ.Client + + + + + Represents a TCP-addressable AMQP peer: a host name and port number. + + + Some of the constructors take, as a convenience, a System.Uri + instance representing an AMQP server address. The use of Uri + here is not standardised - Uri is simply a convenient + container for internet-address-like components. In particular, + the Uri "Scheme" property is ignored: only the "Host" and + "Port" properties are extracted. + + + + + Default Amqp ssl port. + + + + + Indicates that the default port for the protocol should be used. + + + + + Creates a new instance of the . + + Hostname. + Port number. If the port number is -1, the default port number will be used. + Ssl option. + + + + Creates a new instance of the . + + Hostname. + Port number. If the port number is -1, the default port number will be used. + + + + Construct an AmqpTcpEndpoint with "localhost" as the hostname, and using the default port. + + + + + Creates a new instance of the with the given Uri and ssl options. + + + Please see the class overview documentation for information about the Uri format in use. + + + + + Creates a new instance of the with the given Uri. + + + Please see the class overview documentation for information about the Uri format in use. + + + + + Clones the endpoint. + + A copy with the same hostname, port, and TLS settings + + + + Clones the endpoint using the provided hostname. + + Hostname to use + A copy with the provided hostname and port/TLS settings of this endpoint + + + + Retrieve or set the hostname of this . + + + + Retrieve or set the port number of this + AmqpTcpEndpoint. A port number of -1 causes the default + port number. + + + + Retrieve IProtocol of this . + + + + + Retrieve the SSL options for this AmqpTcpEndpoint. If not set, null is returned. + + + + + Construct an instance from a protocol and an address in "hostname:port" format. + + + If the address string passed in contains ":", it is split + into a hostname and a port-number part. Otherwise, the + entire string is used as the hostname, and the port-number + is set to -1 (meaning the default number for the protocol + variant specified). + Hostnames provided as IPv6 must appear in square brackets ([]). + + + + + Splits the passed-in string on ",", and passes the substrings to . + + + Accepts a string of the form "hostname:port, + hostname:port, ...", where the ":port" pieces are + optional, and returns a corresponding array of s. + + + + + Compares this instance by value (protocol, hostname, port) against another instance. + + + + + Implementation of hash code depending on protocol, hostname and port, + to line up with the implementation of . + + + + + Returns a URI-like string of the form amqp-PROTOCOL://HOSTNAME:PORTNUMBER. + + + This method is intended mainly for debugging and logging use. + + + + + Structure holding an AMQP timestamp, a posix 64-bit time_t. + + + When converting between an AmqpTimestamp and a System.DateTime, + be aware of the effect of your local timezone. In particular, + different versions of the .NET framework assume different + defaults. + + + We have chosen a signed 64-bit time_t here, since the AMQP + specification through versions 0-9 is silent on whether + timestamps are signed or unsigned. + + + + + + Construct an . + + Unix time. + + + + Unix time. + + + + + Provides a debugger-friendly display. + + + + Represents a version of the AMQP specification. + + + Vendor-specific variants of particular official specification + versions exist: this class simply represents the AMQP + specification version, and does not try to represent + information about any custom variations involved. + + + AMQP version 0-8 peers sometimes advertise themselves as + version 8-0: for this reason, this class's constructor + special-cases 8-0, rewriting it at construction time to be 0-8 instead. + + + + + + Construct an from major and minor version numbers. + + + Converts major=8 and minor=0 into major=0 and minor=8. Please see the class comment. + + + + + The AMQP specification major version number. + + + + + The AMQP specification minor version number. + + + + + Implement value-equality comparison. + + + + + Implement hashing as for value-equality. + + + + + Format appropriately for display. + + + The specification currently uses "MAJOR-MINOR" as a display format. + + + + + A pluggable authentication mechanism. + + + + + Handle one round of challenge-response. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + Represents Basic.GetOk responses from the server. + + Basic.Get either returns an instance of this class, or null if a Basic.GetEmpty was received. + + + + + Sets the new instance's properties from the arguments passed in. + + Delivery tag for the message. + Redelivered flag for the message + The exchange this message was published to. + Routing key with which the message was published. + The number of messages pending on the queue, excluding the message being delivered. + The Basic-class content header properties for the message. + + + + + Retrieves the Basic-class content header properties for this message. + + + + + Retrieves the body of this message. + + + + + Retrieve the delivery tag for this message. See also . + + + + + Retrieve the exchange this message was published to. + + + + + Retrieve the number of messages pending on the queue, excluding the message being delivered. + + + Note that this figure is indicative, not reliable, and can + change arbitrarily as messages are added to the queue and removed by other clients. + + + + + Retrieve the redelivered flag for this message. + + + + + Retrieve the routing key with which this message was published. + + + + Wrapper for a byte[]. May appear as values read from + and written to AMQP field tables. + + + The sole reason for the existence of this class is to permit + encoding of byte[] as 'x' in AMQP field tables, an extension + to the specification that is part of the tentative JMS mapping + implemented by QPid. + + + Instances of this object may be found as values held in + IDictionary instances returned from + RabbitMQ.Client.Impl.WireFormatting.ReadTable, e.g. as part of + IBasicProperties.Headers tables. Likewise, instances may be + set as values in an IDictionary table to be encoded by + RabbitMQ.Client.Impl.WireFormatting.WriteTable. + + + When an instance of this class is encoded/decoded, the type + tag 'x' is used in the on-the-wire representation. The AMQP + standard type tag 'S' is decoded to a raw byte[], and a raw + byte[] is encoded as 'S'. Instances of System.String are + converted to a UTF-8 binary representation, and then encoded + using tag 'S'. In order to force the use of tag 'x', instances + of this class must be used. + + + + + + Creates a new instance of the with null for its Bytes property. + + + + + Creates a new instance of the . + + The wrapped byte array, as decoded or as to be encoded. + + + + The wrapped byte array, as decoded or as to be encoded. + + + + Main entry point to the RabbitMQ .NET AMQP client + API. Constructs instances. + + + A simple example of connecting to a broker: + + + IConnectionFactory factory = new ConnectionFactory(); + // + // The next six lines are optional: + factory.UserName = ConnectionFactory.DefaultUser; + factory.Password = ConnectionFactory.DefaultPass; + factory.VirtualHost = ConnectionFactory.DefaultVHost; + factory.HostName = hostName; + factory.Port = AmqpTcpEndpoint.UseDefaultPort; + // + IConnection conn = factory.CreateConnection(); + // + IModel ch = conn.CreateModel(); + // + // ... use ch's IModel methods ... + // + ch.Close(Constants.ReplySuccess, "Closing the channel"); + conn.Close(Constants.ReplySuccess, "Closing the connection"); + + + The same example, written more compactly with AMQP URIs: + + + ConnectionFactory factory = new ConnectionFactory(); + factory.Uri = "amqp://localhost"; + IConnection conn = factory.CreateConnection(); + ... + + + Please see also the API overview and tutorial in the User Guide. + + + Note that the Uri property takes a string representation of an + AMQP URI. Omitted URI parts will take default values. The + host part of the URI cannot be omitted and URIs of the form + "amqp://foo/" (note the trailling slash) also represent the + default virtual host. The latter issue means that virtual + hosts with an empty name are not addressable. + + + + Default value for the desired maximum channel number, with zero meaning unlimited (value: 0). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default value for connection attempt timeout, in milliseconds. + + + + + Default value for the desired maximum frame size, with zero meaning unlimited (value: 0). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default value for desired heartbeat interval, in seconds, with zero meaning none (value: 60). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default password (value: "guest"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default user name (value: "guest"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default virtual host (value: "/"). + + PLEASE KEEP THIS MATCHING THE DOC ABOVE. + + + + Default SASL auth mechanisms to use. + + + + + SASL auth mechanisms to use. + + + + + Set to true to enable automatic connection recovery. + + + + The host to connect to. + + + + Amount of time client will wait for before re-trying to recover connection. + + + + + Amount of time protocol handshake operations are allowed to take before + timing out. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + + Factory function for creating the + used to generate a list of endpoints for the ConnectionFactory + to try in order. + The default value creates an instance of the + using the list of endpoints passed in. The DefaultEndpointResolver shuffles the + provided list each time it is requested. + + + + + The port to connect on. + indicates the default for the protocol should be used. + + + + + Protocol used, only AMQP 0-9-1 is supported in modern versions. + + + + + Timeout setting for connection attempts (in milliseconds). + + + + + Timeout setting for socket read operations (in milliseconds). + + + + + Timeout setting for socket write operations (in milliseconds). + + + + + Ssl options setting. + + + + + Set to true to make automatic connection recovery also recover topology (exchanges, queues, bindings, etc). + + + + + Task scheduler connections created by this factory will use when + dispatching consumer operations, such as message deliveries. + + + + + Construct a fresh instance, with all fields set to their respective defaults. + + + + + Connection endpoint. + + + + + Set connection parameters using the amqp or amqps scheme. + + + + + Set connection parameters using the amqp or amqps scheme. + + + + + Dictionary of client properties to be sent to the server. + + + + + Password to use when authenticating to the server. + + + + + Maximum channel number to ask for. + + + + + Frame-max parameter to ask for (in bytes). + + + + + Heartbeat timeout to use when negotiating with the server (in seconds). + + + + + When set to true, background thread will be used for the I/O loop. + + + + + Username to use when authenticating to the server. + + + + + Virtual host to access during this connection. + + + + + Given a list of mechanism names supported by the server, select a preferred mechanism, + or null if we have none in common. + + + + + Create a connection to one of the endpoints provided by the IEndpointResolver + returned by the EndpointResolverFactory. By default the configured + hostname and port are used. + + + When the configured hostname was not reachable. + + + + + Create a connection to one of the endpoints provided by the IEndpointResolver + returned by the EndpointResolverFactory. By default the configured + hostname and port are used. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + When the configured hostname was not reachable. + + + + + Create a connection using a list of hostnames using the configured port. + By default each hostname is tried in a random order until a successful connection is + found or the list is exhausted using the DefaultEndpointResolver. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of hostnames to use for the initial + connection and recovery. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using a list of hostnames using the configured port. + By default each endpoint is tried in a random order until a successful connection is + found or the list is exhausted. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of hostnames to use for the initial + connection and recovery. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using a list of endpoints. By default each endpoint will be tried + in a random order until a successful connection is found or the list is exhausted. + The selection behaviour can be overriden by configuring the EndpointResolverFactory. + + + List of endpoints to use for the initial + connection and recovery. + + Open connection + + When no hostname was reachable. + + + + + Create a connection using an IEndpointResolver. + + + The endpointResolver that returns the endpoints to use for the connection attempt. + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + Open connection + + When no hostname was reachable. + + + + + Unescape a string, protecting '+'. + + + + + Set custom socket options by providing a SocketFactory. + + + + + Creates a new instance of the . + + Specifies the addressing scheme. + New instance of a . + + + + Useful default/base implementation of . + Subclass and override in application code. + + + Note that the "Handle*" methods run in the connection's thread! + Consider using , which exposes + events that can be subscribed to consumer messages. + + + + + Creates a new instance of an . + + + + + Constructor which sets the Model property to the given value. + + Common AMQP model. + + + + Retrieve the consumer tag this consumer is registered as; to be used when discussing this consumer + with the server, for instance with . + + + + + Returns true while the consumer is registered and expecting deliveries from the broker. + + + + + If our shuts down, this property will contain a description of the reason for the + shutdown. Otherwise it will contain null. See . + + + + + Signalled when the consumer gets cancelled. + + + + + Retrieve the this consumer is associated with, + for use in acknowledging received messages, for instance. + + + + + Called when the consumer is cancelled for reasons other than by a basicCancel: + e.g. the queue has been deleted (either by this channel or by any other channel). + See for notification of consumer cancellation due to basicCancel + + Consumer tag this consumer is registered. + + + + Called upon successful deregistration of the consumer from the broker. + + Consumer tag this consumer is registered. + + + + Called upon successful registration of the consumer with the broker. + + Consumer tag this consumer is registered. + + + + Called each time a message arrives for this consumer. + + + Does nothing with the passed in information. + Note that in particular, some delivered messages may require acknowledgement via . + The implementation of this method in this class does NOT acknowledge such messages. + + + + + Called when the model shuts down. + + Common AMQP model. + Information about the reason why a particular model, session, or connection was destroyed. + + + + Default implementation - overridable in subclasses. + + This default implementation simply sets the + property to false, and takes no further action. + + + + + Convenience class providing compile-time names for standard exchange types. + + + Use the static members of this class as values for the + "exchangeType" arguments for IModel methods such as + ExchangeDeclare. The broker may be extended with additional + exchange types that do not appear in this class. + + + + + Exchange type used for AMQP direct exchanges. + + + + + Exchange type used for AMQP fanout exchanges. + + + + + Exchange type used for AMQP headers exchanges. + + + + + Exchange type used for AMQP topic exchanges. + + + + + Retrieve a collection containing all standard exchange types. + + + + + Handle one round of challenge-response. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + + Convenience class providing compile-time names for standard headers. + + + Use the static members of this class as headers for the + arguments for Queue and Exchange declaration or Consumer creation. + The broker may be extended with additional + headers that do not appear in this class. + + + + + x-max-priority header + + + + + x-max-length header + + + + + x-max-length-bytes header + + + + + x-dead-letter-exchange header + + + + + x-dead-letter-routing-key header + + + + + x-message-ttl header + + + + + x-expires header + + + + + alternate-exchange header + + + + + x-priority header + + + + Consumer interface. Used to + receive messages from a queue by subscription. + + + See IModel.BasicConsume, IModel.BasicCancel. + + + Note that the "Handle*" methods run in the connection's + thread! Consider using QueueingBasicConsumer, which uses a + SharedQueue instance to safely pass received messages across + to user threads. + + + + + + Retrieve the this consumer is associated with, + for use in acknowledging received messages, for instance. + + + + + Signalled when the consumer gets cancelled. + + + + + Called when the consumer is cancelled for reasons other than by a basicCancel: + e.g. the queue has been deleted (either by this channel or by any other channel). + See for notification of consumer cancellation due to basicCancel + + Consumer tag this consumer is registered. + + + + Called upon successful deregistration of the consumer from the broker. + + Consumer tag this consumer is registered. + + + + Called upon successful registration of the consumer with the broker. + + Consumer tag this consumer is registered. + + + + Called each time a message arrives for this consumer. + + + Does nothing with the passed in information. + Note that in particular, some delivered messages may require acknowledgement via . + The implementation of this method in this class does NOT acknowledge such messages. + + + + + Called when the model shuts down. + + Common AMQP model. + Information about the reason why a particular model, session, or connection was destroyed. + + + Common AMQP Basic content-class headers interface, + spanning the union of the functionality offered by versions + 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + The specification code generator provides + protocol-version-specific implementations of this interface. To + obtain an implementation of this interface in a + protocol-version-neutral way, use . + + + Each property is readable, writable and clearable: a cleared + property will not be transmitted over the wire. Properties on a + fresh instance are clear by default. + + + + + + Application Id. + + + + + Intra-cluster routing identifier (cluster id is deprecated in AMQP 0-9-1). + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Application correlation identifier. + + + + + Non-persistent (1) or persistent (2). + + + + + Message expiration specification. + + + + + Message header field table. Is of type . + + + + + Application message Id. + + + + + Sets to either persistent (2) or non-persistent (1). + + + + + Message priority, 0 to 9. + + + + + Destination to reply to. + + + + + Convenience property; parses property using , + and serializes it using . + Returns null if property cannot be parsed by . + + + + + Message timestamp. + + + + + Message type name. + + + + + User Id. + + + + + Clear the property. + + + + + Clear the property (cluster id is deprecated in AMQP 0-9-1). + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the Type property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present (cluster id is deprecated in AMQP 0-9-1). + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the Type property is present. + + + + + Returns true if the UserId property is present. + + + + Sets to either persistent (2) or non-persistent (1). + + + The numbers 1 and 2 for delivery mode are "magic" in that + they appear in the AMQP 0-8 and 0-9 specifications as part + of the definition of the DeliveryMode Basic-class property, + without being defined as named constants. + + + Calling this method causes to take on a value. + In order to reset to the default empty condition, call . + + + + + + Main interface to an AMQP connection. + + + + Instances of are used to create fresh + sessions/channels. The class is used to + construct instances. + Please see the documentation for ConnectionFactory for an example of usage. + Alternatively, an API tutorial can be found in the User Guide. + + + Extends the interface, so that the "using" + statement can be used to scope the lifetime of a channel when + appropriate. + + + + + + If true, will close the whole connection as soon as there are no channels open on it; + if false, manual connection closure will be required. + + + DON'T set AutoClose to true before opening the first + channel, because the connection will be immediately closed if you do! + + + + + The maximum channel number this connection supports (0 if unlimited). + Usable channel numbers range from 1 to this number, inclusive. + + + + + A copy of the client properties that has been sent to the server. + + + + + Returns null if the connection is still in a state + where it can be used, or the cause of its closure otherwise. + + + + Applications should use the ConnectionShutdown event to + avoid race conditions. The scenario to avoid is checking + , seeing it is null (meaning the + was available for use at the time of the check), and + interpreting this mistakenly as a guarantee that the + will remain usable for a time. Instead, the + operation of interest should simply be attempted: if the + is not in a usable state, an exception will be + thrown (most likely , but may + vary depending on the particular operation being attempted). + + + + + + Retrieve the endpoint this connection is connected to. + + + + + The maximum frame size this connection supports (0 if unlimited). + + + + + The current heartbeat setting for this connection (0 for disabled), in seconds. + + + + + Returns true if the connection is still in a state where it can be used. + Identical to checking if equal null. + + + + + Returns the known hosts that came back from the + broker in the connection.open-ok method at connection + startup time. Null until the connection is completely open and ready for use. + + + + + The this connection is using to communicate with its peer. + + + + + A dictionary of the server properties sent by the server while establishing the connection. + This typically includes the product name and version of the server. + + + + + Returns the list of objects that contain information + about any errors reported while closing the connection in the order they appeared + + + + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + Signalled when an exception occurs in a callback invoked by the connection. + + + This event is signalled when a ConnectionShutdown handler + throws an exception. If, in future, more events appear on + , then this event will be signalled whenever one + of those event handlers throws an exception, as well. + + + + + Raised when the connection is destroyed. + + + If the connection is already destroyed at the time an + event handler is added to this event, the event handler + will be fired immediately. + + + + + Abort this connection and all its channels. + + + Note that all active channels, sessions, and models will be closed if this method is called. + In comparison to normal method, will not throw + or during closing connection. + This method waits infinitely for the in-progress close operation to complete. + + + + + Abort this connection and all its channels. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the connection + + + + + + Abort this connection and all its channels and wait with a + timeout for all the in-progress close operations to complete. + + + This method, behaves in a similar way as method with the + only difference that it explictly specifies the timeout given + for all the in-progress close operations to complete. + If timeout is reached and the close operations haven't finished, then socket is forced to close. + + To wait infinitely for the close operations to complete use . + + + + + + Abort this connection and all its channels and wait with a + timeout for all the in-progress close operations to complete. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Close this connection and all its channels. + + + Note that all active channels, sessions, and models will be + closed if this method is called. It will wait for the in-progress + close operation to complete. This method will not return to the caller + until the shutdown is complete. If the connection is already closed + (or closing), then this method will throw . + It can also throw when socket was closed unexpectedly. + + + + + Close this connection and all its channels. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Close this connection and all its channels + and wait with a timeout for all the in-progress close operations to complete. + + + Note that all active channels, sessions, and models will be + closed if this method is called. It will wait for the in-progress + close operation to complete with a timeout. If the connection is + already closed (or closing), then this method will throw . + It can also throw when socket was closed unexpectedly. + If timeout is reached and the close operations haven't finished, then socket is forced to close. + + To wait infinitely for the close operations to complete use . + + + + + + Close this connection and all its channels + and wait with a timeout for all the in-progress close operations to complete. + + + The method behaves in the same way as , with the only + difference that the connection is closed with the given connection close code and message. + + The close code (See under "Reply Codes" in the AMQP specification). + + + A message indicating the reason for closing the connection. + + + + + + Create and return a fresh channel, session, and model. + + + + + Handle incoming Connection.Blocked methods. + + + + + Handle incoming Connection.Unblocked methods. + + + + + Dictionary of client properties to be sent to the server. + + + + + Password to use when authenticating to the server. + + + + + Maximum channel number to ask for. + + + + + Frame-max parameter to ask for (in bytes). + + + + + Heartbeat setting to request (in seconds). + + + + + When set to true, background threads will be used for I/O and heartbeats. + + + + + Username to use when authenticating to the server. + + + + + Virtual host to access during this connection. + + + + + Given a list of mechanism names supported by the server, select a preferred mechanism, + or null if we have none in common. + + + + + Create a connection to the specified endpoint. + + + + + Create a connection to the specified endpoint. + + /// Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + + Connects to the first reachable hostname from the list. + + List of host names to use + + + + + Connects to the first reachable hostname from the list. + + List of host names to use + + Application-specific connection name, will be displayed in the management UI + if RabbitMQ server supports it. This value doesn't have to be unique and cannot + be used as a connection identifier, e.g. in HTTP API requests. + This value is supposed to be human-readable. + + + + + + Advanced option. + + What task scheduler should consumer dispatcher use. + + + + + Amount of time protocol handshake operations are allowed to take before + timing out. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + + A decoded AMQP content header frame. + + + + + Retrieve the AMQP class ID of this content header. + + + + + Retrieve the AMQP class name of this content header. + + + + + Return all AmqpTcpEndpoints in the order they should be tried. + + + + + A decoded AMQP method frame. + + + + AMQP methods can be RPC requests, RPC responses, exceptions + (ChannelClose, ConnectionClose), or one-way asynchronous + messages. Currently this information is not recorded in their + type or interface: it is implicit in the way the method is + used, and the way it is defined in the AMQP specification. A + future revision of the RabbitMQ .NET client library may extend + the IMethod interface to represent this information + explicitly. + + + + + + Retrieves the class ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the method ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the name of this method - for debugging use. + + + + + Common AMQP model, spanning the union of the + functionality offered by versions 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + Extends the interface, so that the "using" + statement can be used to scope the lifetime of a channel when appropriate. + + + + + Channel number, unique per connections. + + + + + Returns null if the session is still in a state where it can be used, + or the cause of its closure otherwise. + + + + Signalled when an unexpected message is delivered + + Under certain circumstances it is possible for a channel to receive a + message delivery which does not match any consumer which is currently + set up via basicConsume(). This will occur after the following sequence + of events: + + ctag = basicConsume(queue, consumer); // i.e. with explicit acks + // some deliveries take place but are not acked + basicCancel(ctag); + basicRecover(false); + + Since requeue is specified to be false in the basicRecover, the spec + states that the message must be redelivered to "the original recipient" + - i.e. the same channel / consumer-tag. But the consumer is no longer + active. + + In these circumstances, you can register a default consumer to handle + such deliveries. If no default consumer is registered an + InvalidOperationException will be thrown when such a delivery arrives. + + Most people will not need to use this. + + + + Returns true if the model is no longer in a state where it can be used. + + + + + Returns true if the model is still in a state where it can be used. + Identical to checking if equals null. + + + + When in confirm mode, return the sequence number of the next message to be published. + + + + + Signalled when a Basic.Ack command arrives from the broker. + + + + + Signalled when a Basic.Nack command arrives from the broker. + + + + + All messages received before this fires that haven't been ack'ed will be redelivered. + All messages received afterwards won't be. + + + Handlers for this event are invoked by the connection thread. + It is sometimes useful to allow that thread to know that a recover-ok + has been received, rather than the thread that invoked . + + + + + Signalled when a Basic.Return command arrives from the broker. + + + + + Signalled when an exception occurs in a callback invoked by the model. + + Examples of cases where this event will be signalled + include exceptions thrown in methods, or + exceptions thrown in delegates etc. + + + + + Notifies the destruction of the model. + + + If the model is already destroyed at the time an event + handler is added to this event, the event handler will be fired immediately. + + + + + Abort this session. + + + If the session is already closed (or closing), then this + method does nothing but wait for the in-progress close + operation to complete. This method will not return to the + caller until the shutdown is complete. + In comparison to normal method, will not throw + or or any other during closing model. + + + + + Abort this session. + + + The method behaves in the same way as , with the only + difference that the model is closed with the given model close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the model + + + + + + (Spec method) Acknowledge one or more delivered message(s). + + + + + Delete a Basic content-class consumer. + + + + Start a Basic content-class consumer. + + + + (Spec method) Retrieve an individual message, if + one is available; returns null if the server answers that + no messages are currently available. See also . + + + + Reject one or more delivered message(s). + + + + (Spec method) Publishes a message. + + + + + (Spec method) Configures QoS parameters of the Basic content-class. + + + + + (Spec method). + + + + + (Spec method). + + + + (Spec method) Reject a delivered message. + + + Close this session. + + If the session is already closed (or closing), then this + method does nothing but wait for the in-progress close + operation to complete. This method will not return to the + caller until the shutdown is complete. + + + + Close this session. + + The method behaves in the same way as Close(), with the only + difference that the model is closed with the given model + close code and message. + + The close code (See under "Reply Codes" in the AMQP specification) + + + A message indicating the reason for closing the model + + + + + + Enable publisher acknowledgements. + + + + + Construct a completely empty content header for use with the Basic content class. + + + + + (Extension method) Bind an exchange to an exchange. + + + + + Like ExchangeBind but sets nowait to true. + + + + (Spec method) Declare an exchange. + + The exchange is declared non-passive and non-internal. + The "nowait" option is not exercised. + + + + + Same as ExchangeDeclare but sets nowait to true and returns void (as there + will be no response from the server). + + + + + (Spec method) Declare an exchange. + + + The exchange is declared passive. + + + + + (Spec method) Delete an exchange. + + + + + Like ExchangeDelete but sets nowait to true. + + + + + (Extension method) Unbind an exchange from an exchange. + + + + + Like ExchangeUnbind but sets nowait to true. + + + + + (Spec method) Bind a queue to an exchange. + + + + Same as QueueBind but sets nowait parameter to true. + + + (Spec method) Declare a queue. + + + + Same as QueueDeclare but sets nowait to true and returns void (as there + will be no response from the server). + + + + Declare a queue passively. + + The queue is declared passive, non-durable, + non-exclusive, and non-autodelete, with no arguments. + The queue is declared passively; i.e. only check if it exists. + + + + + Returns the number of messages in a queue ready to be delivered + to consumers. This method assumes the queue exists. If it doesn't, + an exception will be closed with an exception. + + The name of the queue + + + + Returns the number of consumers on a queue. + This method assumes the queue exists. If it doesn't, + an exception will be closed with an exception. + + The name of the queue + + + + (Spec method) Delete a queue. + + + Returns the number of messages purged during queue deletion. + uint.MaxValue. + + + + + Same as QueueDelete but sets nowait parameter to true + and returns void (as there will be no response from the server) + + + + + (Spec method) Purge a queue of messages. + + + Returns the number of messages purged. + + + + + (Spec method) Unbind a queue from an exchange. + + + + + (Spec method) Commit this session's active TX transaction. + + + + + (Spec method) Roll back this session's active TX transaction. + + + + + (Spec method) Enable TX mode for this session. + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + True if no nacks were received within the timeout, otherwise false. + How long to wait (at most) before returning + whether or not any nacks were returned. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + True if no nacks were received within the timeout, otherwise false. + How long to wait (at most) before returning + whether or not any nacks were returned. + + True if the method returned because + the timeout elapsed, not because all messages were ack'd or at least one nack'd. + + + Waits until all messages published since the last call have + been either ack'd or nack'd by the broker. Returns whether + all the messages were ack'd (and none were nack'd). Note, + throws an exception when called on a non-Confirm channel. + + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been ack'd by the broker. If a nack is received, throws an + OperationInterrupedException exception immediately. + + + + + Wait until all published messages have been confirmed. + + + Waits until all messages published since the last call have + been ack'd by the broker. If a nack is received or the timeout + elapses, throws an OperationInterrupedException exception immediately. + + + + + Amount of time protocol operations (e.g. queue.declare) are allowed to take before + timing out. + + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + Start a Basic content-class consumer. + + + + (Extension method) Convenience overload of BasicPublish. + + + The publication occurs with mandatory=false and immediate=false. + + + + + (Extension method) Convenience overload of BasicPublish. + + + The publication occurs with mandatory=false + + + + + (Spec method) Convenience overload of BasicPublish. + + + + + (Spec method) Declare a queue. + + + + + (Extension method) Bind an exchange to an exchange. + + + + + (Extension method) Like exchange bind but sets nowait to true. + + + + + (Spec method) Declare an exchange. + + + + + (Extension method) Like ExchangeDeclare but sets nowait to true. + + + + + (Spec method) Unbinds an exchange. + + + + + (Spec method) Deletes an exchange. + + + + + (Extension method) Like ExchangeDelete but sets nowait to true. + + + + + (Spec method) Binds a queue. + + + + + (Spec method) Deletes a queue. + + + + + (Extension method) Like QueueDelete but sets nowait to true. + + + + + (Spec method) Unbinds a queue. + + + + + Object describing various overarching parameters + associated with a particular AMQP protocol variant. + + + + + Retrieve the protocol's API name, used for printing, + configuration properties, IDE integration, Protocols.cs etc. + + + + + Retrieve the protocol's default TCP port. + + + + + Retrieve the protocol's major version number. + + + + + Retrieve the protocol's minor version number. + + + + + Retrieve the protocol's revision (if specified). + + + + + Construct a connection from a given set of parameters, + a frame handler, and no automatic recovery. + The "insist" parameter is passed on to the AMQP connection.open method. + + + + + Construct a connection from a given set of parameters, + a frame handler, and automatic recovery settings. + + + + + Construct a connection from a given set of parameters, + a frame handler, a client-provided name, and no automatic recovery. + The "insist" parameter is passed on to the AMQP connection.open method. + + + + + Construct a connection from a given set of parameters, + a frame handler, a client-provided name, and automatic recovery settings. + + + + + Construct a protocol model atop a given session. + + + + + A implementation that + uses a to buffer incoming deliveries. + + + + This interface is provided to make creation of test doubles + for easier. + + + + + + A marker interface for entities that are recoverable (currently connection or channel). + + + + + Common AMQP Stream content-class headers interface, + spanning the union of the functionality offered by versions 0-8, 0-8qpid, 0-9 and 0-9-1 of AMQP. + + + + The specification code generator provides + protocol-version-specific implementations of this interface. To + obtain an implementation of this interface in a + protocol-version-neutral way, use IModel.CreateStreamProperties(). + + + Each property is readable, writable and clearable: a cleared + property will not be transmitted over the wire. Properties on a fresh instance are clear by default. + + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Message header field table. + + + + + Message priority, 0 to 9. + + + + + Message timestamp. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Wrapper interface for standard TCP-client. Provides socket for socket frame handler class. + + Contains all methods that are currenty in use in rabbitmq client. + + + + Common interface for network (TCP/IP) connection classes. + + + + + Local port. + + + + + Remote port. + + + + + The name of the authentication mechanism, as negotiated on the wire. + + + + + Return a new authentication mechanism implementation. + + + + + Provides access to the supported implementations. + + + + + Protocol version 0-9-1 as modified by Pivotal. + + + + + Retrieve the current default protocol variant (currently AMQP_0_9_1). + + + + + Container for an exchange name, exchange type and + routing key, usable as the target address of a message to be published. + + + + The syntax used for the external representation of instances + of this class is compatible with QPid's "Reply-To" field + pseudo-URI format. The pseudo-URI format is + (exchange-type)://(exchange-name)/(routing-key), where + exchange-type is one of the permitted exchange type names (see + class ExchangeType), exchange-name must be present but may be + empty, and routing-key must be present but may be empty. + + + The syntax is as it is solely for compatibility with QPid's + existing usage of the ReplyTo field; the AMQP specifications + 0-8 and 0-9 do not define the format of the field, and do not + define any format for the triple (exchange name, exchange + type, routing key) that could be used instead. Please see also + the way class RabbitMQ.Client.MessagePatterns.SimpleRpcServer + uses the ReplyTo field. + + + + + + Regular expression used to extract the exchange-type, + exchange-name and routing-key from a string. + + + + + Creates a new instance of the . + + Exchange type. + Exchange name. + Routing key. + + + + Retrieve the exchange name. + + + + + Retrieve the exchange type string. + + + + + Retrieve the routing key. + + + + + Parse a out of the given string, + using the regex. + + + + + Reconstruct the "uri" from its constituents. + + + + + Represents Queue info. + + + + + Creates a new instance of the . + + Queue name. + Message count. + Consumer count. + + + + Consumer count. + + + + + Message count. + + + + + Queue name. + + + + + A implementation that + uses a to buffer incoming deliveries. + + + + Received messages are placed in the SharedQueue as instances + of . + + + Note that messages taken from the SharedQueue may need + acknowledging with . + + + When the consumer is closed, through BasicCancel or through + the shutdown of the underlying or , + the method is called, which causes any + Enqueue() operations, and Dequeue() operations when the queue + is empty, to throw EndOfStreamException (see the comment for ). + + + The following is a simple example of the usage of this class: + + + IModel channel = ...; + QueueingBasicConsumer consumer = new QueueingBasicConsumer(channel); + channel.BasicConsume(queueName, null, consumer); + + // At this point, messages will be being asynchronously delivered, + // and will be queueing up in consumer.Queue. + + while (true) { + try { + BasicDeliverEventArgs e = (BasicDeliverEventArgs) consumer.Queue.Dequeue(); + // ... handle the delivery ... + channel.BasicAck(e.DeliveryTag, false); + } catch (EndOfStreamException ex) { + // The consumer was cancelled, the model closed, or the + // connection went away. + break; + } + } + + + + + + Creates a fresh , + initialising the property to null + and the property to a fresh . + + + + + Creates a fresh , with + set to the argument, and set to a fresh . + + + + + Creates a fresh , + initialising the + and properties to the given values. + + + + + Retrieves the that messages arrive on. + + + + + Overrides 's implementation, + building a instance and placing it in the Queue. + + + + + Overrides 's OnCancel implementation, + extending it to call the Close() method of the . + + + + + Information about the reason why a particular model, session, or connection was destroyed. + + + The and properties should be used to determine the originator of the shutdown event. + + + + + Construct a with the given parameters and + 0 for and . + + + + + Construct a with the given parameters. + + + + + Object causing the shutdown, or null if none. + + + + + AMQP content-class ID, or 0 if none. + + + + + Returns the source of the shutdown event: either the application, the library, or the remote peer. + + + + + AMQP method ID within a content-class, or 0 if none. + + + + + One of the standardised AMQP reason codes. See RabbitMQ.Client.Framing.*.Constants. + + + + + Informative human-readable reason text. + + + + + Override ToString to be useful for debugging. + + + + + Describes the source of a shutdown event. + + + + + The shutdown event originated from the application using the RabbitMQ .NET client library. + + + + + The shutdown event originated from the RabbitMQ .NET client library itself. + + + Shutdowns with this ShutdownInitiator code may appear if, + for example, an internal error is detected by the client, + or if the server sends a syntactically invalid + frame. Another potential use is on IConnection AutoClose. + + + + + The shutdown event originated from the remote AMQP peer. + + + A valid received connection.close or channel.close event + will manifest as a shutdown with this ShutdownInitiator. + + + + + Single entry object in the shutdown report that encapsulates description + of the error which occured during shutdown. + + + + + Description provided in the error. + + + + + object that occured during shutdown, or null if unspecified. + + + + + Represents an which does the actual heavy lifting to set up an SSL connection, + using the config options in an to make things cleaner. + + + + + Upgrade a Tcp stream to an Ssl stream using the SSL options provided. + + + + + Represents a configurable SSL option, used in setting up an SSL connection. + + + + + Constructs an SslOption specifying both the server cannonical name and the client's certificate path. + + + + + Constructs an with no parameters set. + + + + + Retrieve or set the set of ssl policy errors that are deemed acceptable. + + + + + Retrieve or set the path to client certificate. + + + + + Retrieve or set the path to client certificate. + + + + + An optional client specified SSL certificate selection callback. If this is not specified, + the first valid certificate found will be used. + + + + + An optional client specified SSL certificate validation callback. If this is not specified, + the default callback will be used in conjunction with the property to + determine if the remote server certificate is valid. + + + + + Retrieve or set the X509CertificateCollection containing the client certificate. + If no collection is set, the client will attempt to load one from the specified . + + + + + Flag specifying if Ssl should indeed be used. + + + + + Retrieve or set server's Canonical Name. + This MUST match the CN on the Certificate else the SSL connection will fail. + + + + + Retrieve or set the Ssl protocol version. + + + + + Framework for constructing various types of AMQP. Basic-class application messages. + + + + + By default, new instances of BasicMessageBuilder and its subclasses will have this much initial buffer space. + + + + + Construct an instance ready for writing. + + + The is used for the initial accumulator buffer size. + + + + + Construct an instance ready for writing. + + + + + Retrieve the associated with this instance. + + + + + Retrieve this instance's writing to BodyStream. + + + If no instance exists, one is created, + pointing at the beginning of the accumulator. If one + already exists, the existing instance is returned. The + instance is not reset. + + + + + Retrieve the being used to construct the message body. + + + + + Retrieves the dictionary that will be used to construct the message header table. + It is of type . + + + + + Finish and retrieve the content body for transmission. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Write a single byte into the message body, without encoding or interpretation. + + + + + Write a byte array into the message body, without encoding or interpretation. + + + + + Write a section of a byte array into the message body, without encoding or interpretation. + + + + + Framework for analyzing various types of AMQP Basic-class application messages. + + + + + Construct an instance ready for reading. + + + + + Retrieve the associated with this instance. + + + + + Retrieve this instance's NetworkBinaryReader reading from . + + + If no NetworkBinaryReader instance exists, one is created, + pointing at the beginning of the body. If one already + exists, the existing instance is returned. The instance is + not reset. + + + + + Retrieve the message body, as a byte array. + + + + + Retrieve the being used to read from the message body. + + + + + Retrieves the content header properties of the message being read. Is of type . + + + + + Read a single byte from the body stream, without encoding or interpretation. + Returns -1 for end-of-stream. + + + + + Read bytes from the body stream into a section of + an existing byte array, without encoding or + interpretation. Returns the number of bytes read from the + body and written into the target array, which may be less + than the number requested if the end-of-stream is reached. + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + MIME type associated with QPid BytesMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Write a section of a byte array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Write a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + MIME type associated with QPid BytesMessages. + + + + + Construct an instance for reading. See . + + + + + Reads a given number ("count") of bytes from the message body, + placing them into "target", starting at "offset". + + + + + Reads a from the message body. + + + + + Reads a given number of bytes from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Interface for constructing messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Write a section of a byte array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Write a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Analyzes messages binary-compatible with QPid's "BytesMessage" wire encoding. + + + + + Reads a given number ("count") of bytes from the message body, + placing them into "target", starting at "offset". + + + + + Reads a from the message body. + + + + + Reads a given number of bytes from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Interface for constructing messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + Retrieves the dictionary that will be written into the body of the message. + + + + + Analyzes messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + Parses the message body into an instance. + + + + + Interface for constructing application messages. + + + Subinterfaces provide specialized data-writing methods. This + base interface deals with the lowest common denominator: + bytes, with no special encodings for higher-level objects. + + + + + Retrieve the being used to construct the message body. + + + + + Retrieves the dictionary that will be used to construct the message header table. + It is of type . + + + + + Finish and retrieve the content body for transmission. + + + + + Finish and retrieve the content header for transmission. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Write a single byte into the message body, without encoding or interpretation. + + + + + Write a byte array into the message body, without encoding or interpretation. + + + + + Write a section of a byte array into the message body, without encoding or interpretation. + + + + + Interface for analyzing application messages. + + + Subinterfaces provide specialized data-reading methods. This + base interface deals with the lowest common denominator: + bytes, with no special encodings for higher-level objects. + + + + + Retrieve the message body, as a byte array. + + + + + Retrieve the being used to read from the message body. + + + + + Retrieves the content header properties of the message being read. Is of type . + + + + + Read a single byte from the body stream, without encoding or interpretation. + Returns -1 for end-of-stream. + + + + + Read bytes from the body stream into a section of + an existing byte array, without encoding or + interpretation. Returns the number of bytes read from the + body and written into the target array, which may be less + than the number requested if the end-of-stream is reached. + + + + + Interface for constructing messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a section of a byte array into the message body being assembled. + + + + + Writes a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + The only permitted types are bool, int, short, byte, char, + long, float, double, byte[] and string. + + + + + Writes objects using WriteObject(), one after the other. No length indicator is written. + See also . + + + + + Writes a value into the message body being assembled. + + + + + Writes a string value into the message body being assembled. + + + + + Analyzes messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a array from the message body. + The body contains information about the size of the array to read. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads array from the message body until the end-of-stream is reached. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + MIME type associated with QPid MapMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Retrieves the dictionary that will be written into the body of the message. + + + + + Finish and retrieve the content body for transmission. + + + Calling this message clears Body to null. Subsequent calls will fault. + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "MapMessage" wire encoding. + + + + + MIME type associated with QPid MapMessages. + + + + + Construct an instance for reading. See . + + + + + Parses the message body into an instance. + + . + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "MapMessage" wire encoding. + + + + + + Utility class for extracting typed values from strings. + + + + + Creates the protocol violation exception. + + Type of the target. + The source. + Instance of the . + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of an . + + + + + + Attempt to parse a string representation of a . + + + + + + Attempt to parse a string representation of a . + + + + + + Constructs AMQP Basic-class messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + MIME type associated with QPid StreamMessages. + + + + + Construct an instance for writing. See . + + + + + Construct an instance for writing. See . + + + + + Returns the default MIME content type for messages this instance constructs, + or null if none is available or relevant. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a section of a byte array into the message body being assembled. + + + + + Writes a array into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + + + Writes a value into the message body being assembled. + + + + + Writes an value into the message body being assembled. + + + The only permitted types are bool, int, short, byte, char, + long, float, double, byte[] and string. + + + + + Writes objects using WriteObject(), one after the other. No length indicator is written. + See also . + + + + + Writes a value into the message body being assembled. + + + + + Writes a string value into the message body being assembled. + + + + + Analyzes AMQP Basic-class messages binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + MIME type associated with QPid StreamMessages. + + + + + Construct an instance for reading. See . + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a array from the message body. + The body contains information about the size of the array to read. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads a from the message body. + + + + + Reads an from the message body. + + + + + Reads array from the message body until the end-of-stream is reached. + + + + + Reads a from the message body. + + + + + Reads a from the message body. + + + + + Tags used in parsing and generating StreamWireFormatting message bodies. + + + + + Internal support class for use in reading and + writing information binary-compatible with QPid's "StreamMessage" wire encoding. + + + + + + + + + + + + + + Contains all the information about a message acknowledged + from an AMQP broker within the Basic content-class. + + + The sequence number of the acknowledged message, or + the closed upper bound of acknowledged messages if multiple + is true. + + + Whether this acknoledgement applies to one message + or multiple messages. + + + Contains all the information about a message delivered + from an AMQP broker within the Basic content-class. + + + Default constructor. + + + Constructor that fills the event's properties from + its arguments. + + + The content header of the message. + + + The message body. + + + The consumer tag of the consumer that the message + was delivered to. + + + The delivery tag for this delivery. See + IModel.BasicAck. + + + The exchange the message was originally published + to. + + + The AMQP "redelivered" flag. + + + The routing key used when the message was + originally published. + + + Contains all the information about a message nack'd + from an AMQP broker within the Basic content-class. + + + The sequence number of the nack'd message, or the + closed upper bound of nack'd messages if multiple is + true. + + + Whether this nack applies to one message or + multiple messages. + + + Ignore + Clients should ignore this field. + + + Contains all the information about a message returned + from an AMQP broker within the Basic content-class. + + + The content header of the message. + + + The message body. + + + The exchange the returned message was originally + published to. + + + The AMQP reason code for the return. See + RabbitMQ.Client.Framing.*.Constants. + + + Human-readable text from the broker describing the + reason for the return. + + + The routing key used when the message was + originally published. + + + Wrap an exception thrown by a callback. + + + Access helpful information about the context in + which the wrapped exception was thrown. + + + Access the wrapped exception. + + + Describes an exception that was thrown during the + library's invocation of an application-supplied callback + handler. + + + When an exception is thrown from a callback registered with + part of the RabbitMQ .NET client library, it is caught, + packaged into a CallbackExceptionEventArgs, and passed through + the appropriate IModel's or IConnection's CallbackException + event handlers. If an exception is thrown in a + CallbackException handler, it is silently swallowed, as + CallbackException is the last chance to handle these kinds of + exception. + + + Code constructing CallbackExceptionEventArgs instances will + usually place helpful information about the context of the + call in the IDictionary available through the Detail property. + + + + + + Event relating to connection being blocked. + + + + + Access the reason why connection is blocked. + + + + Event relating to a successful consumer registration + or cancellation. + + + Construct an event containing the consumer-tag of + the consumer the event relates to. + + + Access the consumer-tag of the consumer the event + relates to. + + + + Initializes a new instance of the class. + + The tag before. + The tag after. + + + + Gets the tag before. + + + + + Gets the tag after. + + + + Experimental class exposing an IBasicConsumer's + methods as separate events. + + + Constructor which sets the Model property to the + given value. + + + Event fired on HandleBasicDeliver. + + + Event fired on HandleBasicConsumeOk. + + + Event fired on HandleModelShutdown. + + + Event fired on HandleBasicCancelOk. + + + Fires the Unregistered event. + + + Fires the Registered event. + + + Fires the Received event. + + + Fires the Shutdown event. + + + + Event relating to flow control. + + + + + Access the flow control setting. + + + + + Initializes a new instance of the class. + + The name before. + The name after. + + + + Gets the name before. + + + + + Gets the name after. + + + + + Describes an exception that was thrown during + automatic connection recovery performed by the library. + + + + Thrown when the application tries to make use of a + session or connection that has already been shut + down. + + + Construct an instance containing the given + shutdown reason. + + + Thrown when the cause is an + authentication failure. + + + Thrown when no connection could be opened during a + ConnectionFactory.CreateConnection attempt. + + + Construct a BrokerUnreachableException. The inner exception is associated + with only one connection attempt. + + + Thrown when a SessionManager cannot allocate a new + channel number, or the requested channel number is already in + use. + + + + Indicates that there are no more free channels. + + + + + Indicates that the specified channel is in use + + The requested channel number + + + Retrieves the channel number concerned; will + return -1 in the case where "no more free channels" is + being signalled, or a non-negative integer when "channel is + in use" is being signalled. + + + Thrown when a connection to the broker fails + + + + Thrown when a session is destroyed during an RPC call to a + broker. For example, if a TCP connection dropping causes the + destruction of a session in the middle of a QueueDeclare + operation, an OperationInterruptedException will be thrown to + the caller of IModel.QueueDeclare. + + + + Construct an OperationInterruptedException with + the passed-in explanation, if any. + + + Construct an OperationInterruptedException with + the passed-in explanation and prefix, if any. + + + Retrieves the explanation for the shutdown. May + return null if no explanation is available. + + + Thrown to indicate that the peer didn't understand + the packet received from the client. Peer sent default message + describing protocol version it is using and transport parameters. + + + The peer's {'A','M','Q','P',txHi,txLo,major,minor} packet is + decoded into instances of this class. + + + + Fills the new instance's properties with the values passed in. + + + The peer's AMQP specification major version. + + + The peer's AMQP specification minor version. + + + The peer's high transport byte. + + + The peer's low transport byte. + + + Thrown when the likely cause is an + authentication failure. + + + Thrown to indicate that the peer does not support the + wire protocol version we requested immediately after opening + the TCP socket. + + + Fills the new instance's properties with the values passed in. + + + The client's AMQP specification major version. + + + The client's AMQP specification minor version. + + + The peer's AMQP specification major version. + + + The peer's AMQP specification minor version. + + + + Thrown when the model receives an RPC reply that it wasn't expecting. + + + + The unexpected reply method. + + + + Thrown when the model receives an RPC request it cannot satisfy. + + + + The name of the RPC request that could not be sent. + + + Thrown when the model cannot transmit a method field + because the version of the protocol the model is implementing + does not contain a definition for the field in + question. + + + The name of the unsupported field. + + + The name of the method involved. + + + Thrown when the wire-formatting code cannot encode a + particular .NET value to AMQP protocol format. + + + Construct a WireFormattingException with no + particular offender (i.e. null) + + + Construct a WireFormattingException with the given + offender + + + Object which this exception is complaining about; + may be null if no particular offender exists + + + API-side invocation of connection abort. + + + API-side invocation of connection abort. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close with timeout. + + + API-side invocation of connection.close with timeout. + + + Heartbeat frame for transmission. Reusable across connections. + + + Another overload of a Protocol property, useful + for exposing a tighter type. + + + Explicit implementation of IConnection.Protocol. + + + Try to close connection in a graceful way + + + Shutdown reason contains code and text assigned when closing the connection, + as well as the information about what initiated the close + + + Abort flag, if true, signals to close the ongoing connection immediately + and do not report any errors if it was already closed. + + + Timeout determines how much time internal close operations should be given + to complete. Negative or Timeout.Infinite value mean infinity. + + + + + + Loop only used while quiescing. Use only to cleanly close connection + + + + + We need to close the socket, otherwise attempting to unload the domain + could cause a CannotUnloadAppDomainException + + + + Broadcasts notification of the final shutdown of the connection. + + + + Sets the channel named in the SoftProtocolException into + "quiescing mode", where we issue a channel.close and + ignore everything except for subsequent channel.close + messages and the channel.close-ok reply that should + eventually arrive. + + + + Since a well-behaved peer will not wait indefinitely before + issuing the close-ok, we don't bother with a timeout here; + compare this to the case of a connection.close-ok, where a + timeout is necessary. + + + We need to send the close method and politely wait for a + reply before marking the channel as available for reuse. + + + As soon as SoftProtocolException is detected, we should stop + servicing ordinary application work, and should concentrate + on bringing down the channel as quickly and gracefully as + possible. The way this is done, as per the close-protocol, + is to signal closure up the stack *before* sending the + channel.close, by invoking ISession.Close. Once the upper + layers have been signalled, we are free to do what we need + to do to clean up and shut down the channel. + + + + + + May be called more than once. Should therefore be idempotent. + + + + API-side invocation of connection abort. + + + API-side invocation of connection abort. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection abort with timeout. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close. + + + API-side invocation of connection.close with timeout. + + + API-side invocation of connection.close with timeout. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Autogenerated type. Private implementation class - do not use directly. + + + Protocol major version (= 0) + + + Protocol minor version (= 9) + + + Protocol revision (= 1) + + + Protocol API name (= :AMQP_0_9_1) + + + Default TCP port (= 5672) + + + (= 1) + + + (= 2) + + + (= 3) + + + (= 8) + + + (= 4096) + + + (= 206) + + + (= 200) + + + (= 311) + + + (= 313) + + + (= 320) + + + (= 402) + + + (= 403) + + + (= 404) + + + (= 405) + + + (= 406) + + + (= 501) + + + (= 502) + + + (= 503) + + + (= 504) + + + (= 505) + + + (= 506) + + + (= 530) + + + (= 540) + + + (= 541) + + + Autogenerated type. AMQP specification method "connection.start". + + + Autogenerated type. AMQP specification method "connection.start-ok". + + + Autogenerated type. AMQP specification method "connection.secure". + + + Autogenerated type. AMQP specification method "connection.secure-ok". + + + Autogenerated type. AMQP specification method "connection.tune". + + + Autogenerated type. AMQP specification method "connection.tune-ok". + + + Autogenerated type. AMQP specification method "connection.open". + + + Autogenerated type. AMQP specification method "connection.open-ok". + + + Autogenerated type. AMQP specification method "connection.close". + + + Autogenerated type. AMQP specification method "connection.close-ok". + + + Autogenerated type. AMQP specification method "connection.blocked". + + + Autogenerated type. AMQP specification method "connection.unblocked". + + + Autogenerated type. AMQP specification method "channel.open". + + + Autogenerated type. AMQP specification method "channel.open-ok". + + + Autogenerated type. AMQP specification method "channel.flow". + + + Autogenerated type. AMQP specification method "channel.flow-ok". + + + Autogenerated type. AMQP specification method "channel.close". + + + Autogenerated type. AMQP specification method "channel.close-ok". + + + Autogenerated type. AMQP specification method "exchange.declare". + + + Autogenerated type. AMQP specification method "exchange.declare-ok". + + + Autogenerated type. AMQP specification method "exchange.delete". + + + Autogenerated type. AMQP specification method "exchange.delete-ok". + + + Autogenerated type. AMQP specification method "exchange.bind". + + + Autogenerated type. AMQP specification method "exchange.bind-ok". + + + Autogenerated type. AMQP specification method "exchange.unbind". + + + Autogenerated type. AMQP specification method "exchange.unbind-ok". + + + Autogenerated type. AMQP specification method "queue.declare". + + + Autogenerated type. AMQP specification method "queue.declare-ok". + + + Autogenerated type. AMQP specification method "queue.bind". + + + Autogenerated type. AMQP specification method "queue.bind-ok". + + + Autogenerated type. AMQP specification method "queue.unbind". + + + Autogenerated type. AMQP specification method "queue.unbind-ok". + + + Autogenerated type. AMQP specification method "queue.purge". + + + Autogenerated type. AMQP specification method "queue.purge-ok". + + + Autogenerated type. AMQP specification method "queue.delete". + + + Autogenerated type. AMQP specification method "queue.delete-ok". + + + Autogenerated type. AMQP specification method "basic.qos". + + + Autogenerated type. AMQP specification method "basic.qos-ok". + + + Autogenerated type. AMQP specification method "basic.consume". + + + Autogenerated type. AMQP specification method "basic.consume-ok". + + + Autogenerated type. AMQP specification method "basic.cancel". + + + Autogenerated type. AMQP specification method "basic.cancel-ok". + + + Autogenerated type. AMQP specification method "basic.publish". + + + Autogenerated type. AMQP specification method "basic.return". + + + Autogenerated type. AMQP specification method "basic.deliver". + + + Autogenerated type. AMQP specification method "basic.get". + + + Autogenerated type. AMQP specification method "basic.get-ok". + + + Autogenerated type. AMQP specification method "basic.get-empty". + + + Autogenerated type. AMQP specification method "basic.ack". + + + Autogenerated type. AMQP specification method "basic.reject". + + + Autogenerated type. AMQP specification method "basic.recover-async". + + + Autogenerated type. AMQP specification method "basic.recover". + + + Autogenerated type. AMQP specification method "basic.recover-ok". + + + Autogenerated type. AMQP specification method "basic.nack". + + + Autogenerated type. AMQP specification method "tx.select". + + + Autogenerated type. AMQP specification method "tx.select-ok". + + + Autogenerated type. AMQP specification method "tx.commit". + + + Autogenerated type. AMQP specification method "tx.commit-ok". + + + Autogenerated type. AMQP specification method "tx.rollback". + + + Autogenerated type. AMQP specification method "tx.rollback-ok". + + + Autogenerated type. AMQP specification method "confirm.select". + + + Autogenerated type. AMQP specification method "confirm.select-ok". + + + Autogenerated type. AMQP specification content header properties for content class "basic" + + + + Application Id. + + + + + Intra-cluster routing identifier (cluster id is deprecated in AMQP 0-9-1). + + + + + MIME content encoding. + + + + + MIME content type. + + + + + Application correlation identifier. + + + + + Non-persistent (1) or persistent (2). + + + + + Message expiration specification. + + + + + Message header field table. Is of type . + + + + + Application message Id. + + + + + Sets to either persistent (2) or non-persistent (1). + + + + + Message priority, 0 to 9. + + + + + Destination to reply to. + + + + + Convenience property; parses property using , + and serializes it using . + Returns null if property cannot be parsed by . + + + + + Message timestamp. + + + + + Message type name. + + + + + User Id. + + + + + Clear the property. + + + + + Clear the property (cluster id is deprecated in AMQP 0-9-1). + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the property. + + + + + Clear the Type property. + + + + + Clear the property. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present (cluster id is deprecated in AMQP 0-9-1). + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the property is present. + + + + + Returns true if the Type property is present. + + + + + Returns true if the UserId property is present. + + + + Sets to either persistent (2) or non-persistent (1). + + + The numbers 1 and 2 for delivery mode are "magic" in that + they appear in the AMQP 0-8 and 0-9 specifications as part + of the definition of the DeliveryMode Basic-class property, + without being defined as named constants. + + + Calling this method causes to take on a value. + In order to reset to the default empty condition, call . + + + + + Thrown when the server sends a frame along a channel + that we do not currently have a Session entry in our + SessionManager for. + + + The channel number concerned. + + + + Retrieve the AMQP class ID of this content header. + + + + + Retrieve the AMQP class name of this content header. + + + + + Fill this instance from the given byte buffer stream. + + + + A type of . + + + + Returns a random item from the list. + + Element item type + Input list + + + + Subclass of ProtocolException representing problems + requiring a connection.close. + + + Socket read timeout, in milliseconds. Zero signals "infinity". + + + Socket write timeout, in milliseconds. Zero signals "infinity". + + + Read a frame from the underlying + transport. Returns null if the read operation timed out + (see Timeout property). + + + Not part of the public API. Extension of IModel to + include utilities and connection-setup routines needed by the + implementation side. + + This interface is used by the API autogeneration + process. The AMQP XML specifications are read by the spec + compilation tool, and after the basic method interface and + implementation classes are generated, this interface is + scanned, and a spec-version-specific implementation is + autogenerated. Annotations are used on certain methods, return + types, and parameters, to customise the details of the + autogeneration process. + + + + + + Sends a Connection.TuneOk. Used during connection + initialisation. + + + Handle incoming Basic.Ack methods. Signals a + BasicAckEvent. + + + Handle incoming Basic.CancelOk methods. + + + Handle incoming Basic.ConsumeOk methods. + + + Handle incoming Basic.Deliver methods. Dispatches + to waiting consumers. + + + Handle incoming Basic.GetEmpty methods. Routes the + information to a waiting Basic.Get continuation. + + Note that the clusterId field is ignored, as in the + specification it notes that it is "deprecated pending + review". + + + + Handle incoming Basic.GetOk methods. Routes the + information to a waiting Basic.Get continuation. + + + Handle incoming Basic.Nack methods. Signals a + BasicNackEvent. + + + Handle incoming Basic.RecoverOk methods + received in reply to Basic.Recover. + + + + Handle incoming Basic.Return methods. Signals a + BasicReturnEvent. + + + Handle an incoming Channel.Close. Shuts down the + session and model. + + + Handle an incoming Channel.CloseOk. + + + Handle incoming Channel.Flow methods. Either + stops or resumes sending the methods that have content. + + + Handle an incoming Connection.Blocked. + + + Handle an incoming Connection.Close. Shuts down the + connection and all sessions and models. + + + Handle an incoming Connection.OpenOk. + + + Handle incoming Connection.Secure + methods. + + + Handle an incoming Connection.Start. Used during + connection initialisation. + + + Handle incoming Connection.Tune + methods. + + + Handle an incominga Connection.Unblocked. + + + Handle incoming Queue.DeclareOk methods. Routes the + information to a waiting Queue.DeclareOk continuation. + + + Used to send a Basic.Cancel method. The public + consume API calls this while also managing internal + datastructures. + + + Used to send a Basic.Consume method. The public + consume API calls this while also managing internal + datastructures. + + + Used to send a Basic.Get. Basic.Get is a special + case, since it can result in a Basic.GetOk or a + Basic.GetEmpty, so this level of manual control is + required. + + + Used to send a Basic.Publish method. Called by the + public publish method after potential null-reference issues + have been rectified. + + + Used to send a Channel.Close. Called during + session shutdown. + + + Used to send a Channel.CloseOk. Called during + session shutdown. + + + Used to send a Channel.FlowOk. Confirms that + Channel.Flow from the broker was processed. + + + Used to send a Channel.Open. Called during session + initialisation. + + + Used to send a Confirm.Select method. The public + confirm API calls this while also managing internal + datastructures. + + + Used to send a Connection.Close. Called during + connection shutdown. + + + Used to send a Connection.CloseOk. Called during + connection shutdown. + + + Used to send a Connection.Open. Called during + connection startup. + + + Used to send a Connection.SecureOk. Again, this is + special, like Basic.Get. + + + Used to send a Connection.StartOk. This is + special, like Basic.Get. + + + Used to send a Exchange.Bind method. Called by the + public bind method. + + + + Used to send a Exchange.Declare method. Called by the + public declare method. + + + + Used to send a Exchange.Delete method. Called by the + public delete method. + + + + Used to send a Exchange.Unbind method. Called by the + public unbind method. + + + + Used to send a Queue.Bind method. Called by the + public bind method. + + + Used to send a Queue.Declare method. Called by the + public declare method. + + + Used to send a Queue.Delete method. Called by the + public delete method. + + + Used to send a Queue.Purge method. Called by the + public purge method. + + + Essential information from an incoming Connection.Tune + method. + + + The peer's suggested channel-max parameter. + + + The peer's suggested frame-max parameter. + + + The peer's suggested heartbeat parameter. + + + + Gets the channel number. + + + + + Gets the close reason. + + + + + Single recipient - no need for multiple handlers to be informed of arriving commands. + + + + + Gets the connection. + + + + + Gets a value indicating whether this session is open. + + + + + Multicast session shutdown event. + + + + Small ISession implementation used only for channel 0. + + + Set channel 0 as quiescing + + Method should be idempotent. Cannot use base.Close + method call because that would prevent us from + sending/receiving Close/CloseOk commands + + + + Thrown when frame parsing code detects an error in the + wire-protocol encoding of a frame. + + For example, potential MalformedFrameException conditions + include frames too short, frames missing their end marker, and + invalid protocol negotiation headers. + + + + + Retrieves the class ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the method ID number of this method, as defined in the AMQP specification XML. + + + + + Retrieves the name of this method - for debugging use. + + + + Only used to kick-start a connection open + sequence. See + + + Broadcasts notification of the final shutdown of the model. + + + Do not call anywhere other than at the end of OnSessionShutdown. + + + Must not be called when m_closeReason == null, because + otherwise there's a window when a new continuation could be + being enqueued at the same time as we're broadcasting the + shutdown event. See the definition of Enqueue() above. + + + + + Handle incoming Connection.Tune + methods. + + + Instances of subclasses of subclasses + HardProtocolException and SoftProtocolException are thrown in + situations when we detect a problem with the connection-, + channel- or wire-level parts of the AMQP protocol. + + + Retrieve the reply code to use in a + connection/channel close method. + + + Retrieve the shutdown details to use in a + connection/channel close method. Defaults to using + ShutdownInitiator.Library, and this.ReplyCode and + this.Message as the reply code and text, + respectively. + + + Small ISession implementation used during channel quiescing. + + + Manages a queue of waiting AMQP RPC requests. + + + Currently, pipelining of requests is forbidden by this + implementation. The AMQP 0-8 and 0-9 specifications themselves + forbid pipelining, but only by the skin of their teeth and + under a somewhat generous reading. + + + + + Enqueue a continuation, marking a pending RPC. + + + Continuations are retrieved in FIFO order by calling Next(). + + + In the current implementation, only one continuation can + be queued up at once. Calls to Enqueue() when a + continuation is already enqueued will result in + NotSupportedException being thrown. + + + + + Interrupt all waiting continuations. + + + There's just the one potential waiter in the current + implementation. + + + + + Retrieve the next waiting continuation. + + + It is an error to call this method when there are no + waiting continuations. In the current implementation, if + this happens, null will be returned (which will usually + result in an immediate NullPointerException in the + caller). Correct code will always arrange for a + continuation to have been Enqueue()d before calling this + method. + + + + + Normal ISession implementation used during normal channel operation. + + + Called from CheckAutoClose, in a separate thread, + when we decide to close the connection. + + + If m_autoClose and there are no active sessions + remaining, Close()s the connection with reason code + 200. + + + Replace an active session slot with a new ISession + implementation. Used during channel quiescing. + + Make sure you pass in a channelNumber that's currently in + use, as if the slot is unused, you'll get a null pointer + exception. + + + + Subclass of ProtocolException representing problems + requiring a channel.close. + + + Thrown when our peer sends a frame that contains + illegal values for one or more fields. + + + + Thrown when the connection receives a frame that it wasn't expecting. + + + + + Thrown when the protocol handlers detect an unknown class + number or method number. + + + + The AMQP content-class ID. + + + The AMQP method ID within the content-class, or 0 if none. + + + Reads an AMQP "table" definition from the reader. + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t, + x and V types and the AMQP 0-9-1 A type. + + A . + + + Writes an AMQP "table" to the writer. + + + In this method, we assume that the stream that backs our + NetworkBinaryWriter is a positionable stream - which it is + currently (see Frame.m_accumulator, Frame.GetWriter and + Command.Transmit). + + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t + x and V types and the AMQP 0-9-1 A type. + + + + + Writes an AMQP "table" to the writer. + + + In this method, we assume that the stream that backs our + NetworkBinaryWriter is a positionable stream - which it is + currently (see Frame.m_accumulator, Frame.GetWriter and + Command.Transmit). + + + Supports the AMQP 0-8/0-9 standard entry types S, I, D, T + and F, as well as the QPid-0-8 specific b, d, f, l, s, t + x and V types and the AMQP 0-9-1 A type. + + + + + Base class for attributes for controlling the API + autogeneration process. + + + The specification namespace (i.e. version) that + this attribute applies to, or null for all specification + versions. + + + Causes the API generator to ignore the attributed method. + + Mostly used to declare convenience overloads of + various AMQP methods in the IModel interface. Also used + to omit an autogenerated implementation of a method which + is not required for one protocol version. The API + autogeneration process should of course not attempt to produce + an implementation of the convenience methods, as they will be + implemented by hand with sensible defaults, delegating to the + autogenerated variant of the method concerned. + + + Causes the API generator to generate asynchronous + receive code for the attributed method. + + + Causes the API generator to generate + exception-throwing code for, instead of simply ignoring, the + attributed method. + + + + + Informs the API generator which AMQP method field to + use for either a parameter in a request, or for a simple result + in a reply. + + + Informs the API generator which AMQP method to use for + either a request (if applied to an IModel method) or a reply + (if applied to an IModel method result). + + + This attribute, if placed on a parameter in an IModel + method, causes it to be interpreted as a "nowait" parameter for + the purposes of autogenerated RPC reply continuation management + and control. + + + This attribute, if placed on a method in IModel, + causes the method to be interpreted as a factory method + producing a protocol-specific implementation of a common + content header interface. + + + This attribute, if placed on a parameter in a + content-carrying IModel method, causes it to be sent as part of + the content header frame. + + + This attribute, if placed on a parameter in a + content-carrying IModel method, causes it to be sent as part of + the content body frame. + + + This attribute, placed on an IModel method, causes + what would normally be an RPC, sent with ModelRpc, to be sent + as if it were oneway, with ModelSend. The assumption that this + is for a custom continuation (e.g. for BasicConsume/BasicCancel + etc.) + + + + Simple wrapper around TcpClient. + + + + Manages a subscription to a queue. + + + This interface is provided to make creation of test doubles + for easier. + + + + + Implements a simple RPC client. + + + This class sends requests that can be processed by remote + SimpleRpcServer instances. + + + The basic pattern for accessing a remote service is to + determine the exchange name and routing key needed for + submissions of service requests, and to construct a + SimpleRpcClient instance using that address. Once constructed, + the various Call() and Cast() overloads can be used to send + requests and receive the corresponding replies. + + + string queueName = "ServiceRequestQueue"; // See also Subscription ctors + using (IConnection conn = new ConnectionFactory() + .CreateConnection(serverAddress)) { + using (IModel ch = conn.CreateModel()) { + SimpleRpcClient client = + new SimpleRpcClient(ch, queueName); + client.TimeoutMilliseconds = 5000; // optional + + /// ... make use of the various Call() overloads + } + } + + + Instances of this class declare a queue, so it is the user's + responsibility to ensure that the exchange concerned exists + (using IModel.ExchangeDeclare) before invoking Call() or + Cast(). + + + This class implements only a few basic RPC message formats - + to extend it with support for more formats, either subclass, + or transcode the messages before transmission using the + built-in byte[] format. + + + + + + Construct an instance with no configured + Address. The Address property must be set before Call() or + Cast() are called. + + + Construct an instance that will deliver to the + default exchange (""), with routing key equal to the passed + in queueName, thereby delivering directly to a named queue + on the AMQP server. + + + Construct an instance that will deliver to the + named and typed exchange, with the given routing + key. + + + Construct an instance that will deliver to the + given address. + + + This event is fired whenever Call() detects the + disconnection of the underlying Subscription while waiting + for a reply from the service. + + See also OnDisconnected(). Note that the sending of a + request may result in OperationInterruptedException before + the request is even sent. + + + + This event is fired whenever Call() decides that a + timeout has occurred while waiting for a reply from the + service. + + See also OnTimedOut(). + + + + Retrieve or modify the address that will be used + for the next Call() or Cast(). + + This address represents the service, i.e. the destination + service requests should be published to. It can be changed + at any time before a Call() or Cast() request is sent - + the value at the time of the call is used by Call() and + Cast(). + + + + Retrieve the IModel this instance uses to communicate. + + + Retrieve the Subscription that is used to receive + RPC replies corresponding to Call() RPC requests. May be + null. + + + Upon construction, this property will be null. It is + initialised by the protected virtual method + EnsureSubscription upon the first call to Call(). Calls to + Cast() do not initialise the subscription, since no + replies are expected or possible when using Cast(). + + + + + Retrieve or modify the timeout (in milliseconds) + that will be used for the next Call(). + + + This property defaults to + System.Threading.Timeout.Infinite (i.e. -1). If it is set + to any other value, Call() will only wait for the + specified amount of time before returning indicating a + timeout. + + + See also TimedOut event and OnTimedOut(). + + + + + Sends a "jms/stream-message"-encoded RPC request, + and expects an RPC reply in the same format. + + + The arguments passed in must be of types that are + representable as JMS StreamMessage values, and so must the + results returned from the service in its reply message. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + + + Sends a simple byte[] message, without any custom + headers or properties. + + + Delegates directly to Call(IBasicProperties, byte[]), and + discards the properties of the received reply, returning + only the body of the reply. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + Sends a byte[] message and IBasicProperties + header, returning both the body and headers of the received + reply. + + + Sets the "replyProperties" outbound parameter to the + properties of the received reply, and returns the byte[] + body of the reply. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Both sets "replyProperties" to null and returns null when + either the request timed out or we were disconnected + before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + Sends a byte[]/IBasicProperties RPC request, + returning full information about the delivered reply as a + BasicDeliverEventArgs. + + + This is the most general/lowest-level Call()-style method + on SimpleRpcClient. It sets CorrelationId and ReplyTo on + the request message's headers before transmitting the + request to the service via the AMQP server. If the reply's + CorrelationId does not match the request's CorrelationId, + ProtocolViolationException will be thrown. + + + Calls OnTimedOut() and OnDisconnected() when a timeout or + disconnection, respectively, is detected when waiting for + our reply. + + + Returns null if the request timed out or if we were + disconnected before a reply arrived. + + + The reply message, if any, is acknowledged to the AMQP + server via Subscription.Ack(). + + + + + + Sends an asynchronous/one-way message to the + service. + + + Close the reply subscription associated with this instance, if any. + + Simply delegates to calling Subscription.Close(). Clears + the Subscription property, so that subsequent Call()s, if + any, will re-initialize it to a fresh Subscription + instance. + + + + Signals that the Subscription we use for receiving + our RPC replies was disconnected while we were + waiting. + + Fires the Disconnected event. + + + + Signals that the configured timeout fired while + waiting for an RPC reply. + + Fires the TimedOut event. + + + + Implement the IDisposable interface, permitting + SimpleRpcClient instances to be used in using + statements. + + + Should initialise m_subscription to be non-null + and usable for fetching RPC replies from the service + through the AMQP server. + + + Retrieves the reply for the request with the given + correlation ID from our internal Subscription. + + Currently requires replies to arrive in the same order as + the requests were sent out. Subclasses may override this + to provide more sophisticated behaviour. + + + + Implements a simple RPC service, responding to + requests received via a Subscription. + + + This class interprets requests such as those sent by instances + of SimpleRpcClient. + + + The basic pattern for implementing a service is to subclass + SimpleRpcServer, overriding HandleCall and HandleCast as + appropriate, and then to create a Subscription object for + receiving requests from clients, and start an instance of the + SimpleRpcServer subclass with the Subscription. + + + string queueName = "ServiceRequestQueue"; // See also Subscription ctors + using (IConnection conn = new ConnectionFactory() + .CreateConnection(serverAddress)) { + using (IModel ch = conn.CreateModel()) { + Subscription sub = new Subscription(ch, queueName); + new MySimpleRpcServerSubclass(sub).MainLoop(); + } + } + + + Note that this class itself does not declare any resources + (exchanges, queues or bindings). The Subscription we use for + receiving RPC requests should have already declared all the + resources we need. See the Subscription constructors and the + Subscription.Bind method. + + + If you are implementing a service that responds to + "jms/stream-message"-formatted requests (as implemented by + RabbitMQ.Client.Content.IStreamMessageReader), override + HandleStreamMessageCall. Otherwise, override HandleSimpleCall + or HandleCall as appropriate. Asynchronous, one-way requests + are dealt with by HandleCast etc. + + + Every time a request is successfully received and processed + within the server's MainLoop, the request message is Ack()ed + using Subscription.Ack before the next request is + retrieved. This causes the Subscription object to take care of + acknowledging receipt and processing of the request message. + + + If transactional service is enabled, via SetTransactional(), + then after every successful ProcessRequest, IModel.TxCommit is + called. Making use of transactional service has effects on all + parts of the application that share an IModel instance, + completely changing the style of interaction with the AMQP + server. For this reason, it is initially disabled, and must be + explicitly enabled with a call to SetTransactional(). Please + see the documentation for SetTransactional() for details. + + + To stop a running RPC server, call Close(). This will in turn + Close() the Subscription, which will cause MainLoop() to + return to its caller. + + + Unless overridden, ProcessRequest examines properties in the + request content header, and uses them to dispatch to one of + the Handle[...]() methods. See the documentation for + ProcessRequest and each Handle[...] method for details. + + + + + + Create, but do not start, an instance that will + receive requests via the given Subscription. + + + The instance is initially in non-transactional mode. See + SetTransactional(). + + + Call MainLoop() to start the request-processing loop. + + + + + Returns true if we are in "transactional" mode, or + false if we are not. + + + Shut down the server, causing MainLoop() to return + to its caller. + + Acts by calling Close() on the server's Subscription object. + + + + Called by ProcessRequest(), this is the most + general method that handles RPC-style requests. + + + This method should map requestProperties and body to + replyProperties and the returned byte array. + + + The default implementation checks + requestProperties.ContentType, and if it is + "jms/stream-message" (i.e. the current value of + StreamMessageBuilder.MimeType), parses it using + StreamMessageReader and delegates to + HandleStreamMessageCall before encoding and returning the + reply. If the ContentType is any other value, the request + is passed to HandleSimpleCall instead. + + + The isRedelivered flag is true when the server knows for + sure that it has tried to send this request previously + (although not necessarily to this application). It is not + a reliable indicator of previous receipt, however - the + only claim it makes is that a delivery attempt was made, + not that the attempt succeeded. Be careful if you choose + to use the isRedelivered flag. + + + + + Called by ProcessRequest(), this is the most + general method that handles asynchronous, one-way + requests. + + + The default implementation checks + requestProperties.ContentType, and if it is + "jms/stream-message" (i.e. the current value of + StreamMessageBuilder.MimeType), parses it using + StreamMessageReader and delegates to + HandleStreamMessageCall, passing in null as the + replyWriter parameter to indicate that no reply is desired + or possible. If the ContentType is any other value, the + request is passed to HandleSimpleCast instead. + + + The isRedelivered flag is true when the server knows for + sure that it has tried to send this request previously + (although not necessarily to this application). It is not + a reliable indicator of previous receipt, however - the + only claim it makes is that a delivery attempt was made, + not that the attempt succeeded. Be careful if you choose + to use the isRedelivered flag. + + + + + Called by the default HandleCall() implementation + as a fallback. + + If the MIME ContentType of the request did not match any + of the types specially recognised + (e.g. "jms/stream-message"), this method is called instead + with the raw bytes of the request. It should fill in + replyProperties (or set it to null) and return a byte + array to send back to the remote caller as a reply + message. + + + + Called by the default HandleCast() implementation + as a fallback. + + If the MIME ContentType of the request did not match any + of the types specially recognised + (e.g. "jms/stream-message"), this method is called instead + with the raw bytes of the request. + + + + Called by HandleCall and HandleCast when a + "jms/stream-message" request is received. + + + The args array contains the values decoded by HandleCall + or HandleCast. + + + The replyWriter parameter will be null if we were called + from HandleCast, in which case a reply is not expected or + possible, or non-null if we were called from + HandleCall. Use the methods of replyWriter in this case to + assemble your reply, which will be sent back to the remote + caller. + + + This default implementation does nothing, which + effectively sends back an empty reply to any and all + remote callers. + + + + + Enters the main loop of the RPC service. + + + Retrieves requests repeatedly from the service's + subscription. Each request is passed to + ProcessRequest. Once ProcessRequest returns, the request + is acknowledged via Subscription.Ack(). If transactional + mode is enabled, TxCommit is then called. Finally, the + loop begins again. + + + Runs until the subscription ends, which happens either as + a result of disconnection, or of a call to Close(). + + + + + Process a single request received from our + subscription. + + + If the request's properties contain a non-null, non-empty + CorrelationId string (see IBasicProperties), it is assumed + to be a two-way call, requiring a response. The ReplyTo + header property is used as the reply address (via + PublicationAddress.Parse, unless that fails, in which case it + is treated as a simple queue name), and the request is + passed to HandleCall(). + + + If the CorrelationId is absent or empty, the request is + treated as one-way asynchronous event, and is passed to + HandleCast(). + + + Usually, overriding HandleCall(), HandleCast(), or one of + their delegates is sufficient to implement a service, but + in some cases overriding ProcessRequest() is + required. Overriding ProcessRequest() gives the + opportunity to implement schemes for detecting interaction + patterns other than simple request/response or one-way + communication. + + + + + Enables transactional mode. + + + Once enabled, transactional mode is not only enabled for + all users of the underlying IModel instance, but cannot be + disabled without shutting down the entire IModel (which + involves shutting down all the services depending on it, + and should not be undertaken lightly). + + + This method calls IModel.TxSelect, every time it is + called. (TxSelect is idempotent, so this is harmless.) + + + + + Implement the IDisposable interface, permitting + SimpleRpcServer instances to be used in using + statements. + + + Manages a subscription to a queue. + + + This convenience class abstracts away from much of the detail + involved in receiving messages from a queue. + + + Once created, the Subscription consumes from a queue (using a + EventingBasicConsumer). Received deliveries can be retrieved + by calling Next(), or by using the Subscription as an + IEnumerator in, for example, a foreach loop. + + + Note that if the "noAck" option is enabled (which it is by + default), then received deliveries are automatically acked + within the server before they are even transmitted across the + network to us. Calling Ack() on received events will always do + the right thing: if "noAck" is enabled, nothing is done on an + Ack() call, and if "noAck" is disabled, IModel.BasicAck() is + called with the correct parameters. + + + + + Creates a new Subscription in "noAck" mode, + consuming from a named queue. + + + Creates a new Subscription, with full control over + both "noAck" mode and the name of the queue. + + + Creates a new Subscription, with full control over + both "noAck" mode, the name of the queue, and the consumer tag. + + + Retrieve the IBasicConsumer that is receiving the + messages from the server for us. Normally, you will not + need to access this property - use Next() and friends + instead. + + + Retrieve the consumer-tag that this subscription + is using. Will usually be a server-generated + name. + + + Returns the most recent value returned by Next(), + or null when either no values have been retrieved yet, the + end of the subscription has been reached, or the most + recent value has already been Ack()ed. See also the + documentation for Ack(). + + + Retrieve the IModel our subscription is carried by. + + + Returns true if we are in "noAck" mode, where + calls to Ack() will be no-ops, and where the server acks + messages before they are delivered to us. Returns false if + we are in a mode where calls to Ack() are required, and + where such calls will actually send an acknowledgement + message across the network to the server. + + + Retrieve the queue name we have subscribed to. + + + Implementation of the IEnumerator interface, for + permitting Subscription to be used in foreach + loops. + + + As per the IEnumerator interface definition, throws + InvalidOperationException if LatestEvent is null. + + + Does not acknowledge any deliveries at all. Ack() must be + called explicitly on received deliveries. + + + + + If LatestEvent is non-null, passes it to + Ack(BasicDeliverEventArgs). Causes LatestEvent to become + null. + + + If we are not in "noAck" mode, calls + IModel.BasicAck with the delivery-tag from ; + otherwise, sends nothing to the server. if is the same as LatestEvent + by pointer comparison, sets LatestEvent to null. + + + Passing an event that did not originate with this Subscription's + channel, will lead to unpredictable behaviour + + + + Closes this Subscription, cancelling the consumer + record in the server. + + + If LatestEvent is non-null, passes it to + Nack(BasicDeliverEventArgs, false, requeue). Causes LatestEvent to become + null. + + + If LatestEvent is non-null, passes it to + Nack(BasicDeliverEventArgs, multiple, requeue). Causes LatestEvent to become + null. + + + If we are not in "noAck" mode, calls + IModel.BasicNack with the delivery-tag from ; + otherwise, sends nothing to the server. if is the same as LatestEvent + by pointer comparison, sets LatestEvent to null. + + + Passing an event that did not originate with this Subscription's + channel, will lead to unpredictable behaviour + + + + Retrieves the next incoming delivery in our + subscription queue. + + + Returns null when the end of the stream is reached and on + every subsequent call. End-of-stream can arise through the + action of the Subscription.Close() method, or through the + closure of the IModel or its underlying IConnection. + + + Updates LatestEvent to the value returned. + + + Does not acknowledge any deliveries at all (but in "noAck" + mode, the server will have auto-acknowledged each event + before it is even sent across the wire to us). + + + + + Retrieves the next incoming delivery in our + subscription queue, or times out after a specified number + of milliseconds. + + + Returns false only if the timeout expires before either a + delivery appears or the end-of-stream is reached. If false + is returned, the out parameter "result" is set to null, + but LatestEvent is not updated. + + + Returns true to indicate a delivery or the end-of-stream. + + + If a delivery is already waiting in the queue, or one + arrives before the timeout expires, it is removed from the + queue and placed in the "result" out parameter. If the + end-of-stream is detected before the timeout expires, + "result" is set to null. + + + Whenever this method returns true, it updates LatestEvent + to the value placed in "result" before returning. + + + End-of-stream can arise through the action of the + Subscription.Close() method, or through the closure of the + IModel or its underlying IConnection. + + + This method does not acknowledge any deliveries at all + (but in "noAck" mode, the server will have + auto-acknowledged each event before it is even sent across + the wire to us). + + + A timeout of -1 (i.e. System.Threading.Timeout.Infinite) + will be interpreted as a command to wait for an + indefinitely long period of time for an item or the end of + the stream to become available. Usage of such a timeout is + equivalent to calling Next() with no arguments (modulo + predictable method signature differences). + + + + + Implementation of the IDisposable interface, + permitting Subscription to be used in using + statements. Simply calls Close(). + + + Implementation of the IEnumerable interface, for + permitting Subscription to be used in foreach + loops. + + + Implementation of the IEnumerator interface, for + permitting Subscription to be used in foreach + loops. + + + Does not acknowledge any deliveries at all. Ack() must be + called explicitly on received deliveries. + + + + + Dummy implementation of the IEnumerator interface, + for permitting Subscription to be used in foreach loops; + Reset()ting a Subscription doesn't make sense, so this + method always throws InvalidOperationException. + + + A thread-safe single-assignment reference cell. + + A fresh BlockingCell holds no value (is empty). Any thread + reading the Value property when the cell is empty will block + until a value is made available by some other thread. The Value + property can only be set once - on the first call, the + BlockingCell is considered full, and made immutable. Further + attempts to set Value result in a thrown + InvalidOperationException. + + + + Retrieve the cell's value, blocking if none exists + at present, or supply a value to an empty cell, thereby + filling it. + + + + Return valid timeout value + If value of the parameter is less then zero, return 0 + to mean infinity + + + Retrieve the cell's value, waiting for the given + timeout if no value is immediately available. + + + If a value is present in the cell at the time the call is + made, the call will return immediately. Otherwise, the + calling thread blocks until either a value appears, or + operation times out. + + + If no value was available before the timeout, an exception + is thrown. + + + + + Retrieve the cell's value, waiting for the given + timeout if no value is immediately available. + + + If a value is present in the cell at the time the call is + made, the call will return immediately. Otherwise, the + calling thread blocks until either a value appears, or + operation times out. + + + If no value was available before the timeout, an exception + is thrown. + + + + + Miscellaneous debugging and development utilities. + + Not part of the public API. + + + + Print a hex dump of the supplied bytes to stdout. + + + Print a hex dump of the supplied bytes to the supplied TextWriter. + + + Prints an indented key/value pair; used by DumpProperties() + Recurses into the value using DumpProperties(). + + + Dump properties of objects to the supplied writer. + + + Used internally by class Either. + + + Models the disjoint union of two alternatives, a + "left" alternative and a "right" alternative. + Borrowed from ML, Haskell etc. + + + Private constructor. Use the static methods Left, Right instead. + + + Retrieve the alternative represented by this instance. + + + Retrieve the value carried by this instance. + + + Constructs an Either instance representing a Left alternative. + + + Constructs an Either instance representing a Right alternative. + + + A class for allocating integer IDs in a given range. + + + A class representing a list of inclusive intervals + Creates an IntAllocator allocating integer IDs within the inclusive range [start, end] + + + Allocate a fresh integer from the range, or return -1 if no more integers + are available. This operation is guaranteed to run in O(1) + + + Make the provided integer available for allocation again. This operation + runs in amortized O(sqrt(range size)) time: About every sqrt(range size) + operations will take O(range_size + number of intervals) to complete and + the rest run in constant time. + + No error checking is performed, so if you double Free or Free an integer + that was not originally Allocated the results are undefined. Sorry. + + + + Subclass of BinaryReader that reads integers etc in correct network order. + + + + Kludge to compensate for .NET's broken little-endian-only BinaryReader. + Relies on BinaryReader always being little-endian. + + + + + + Construct a NetworkBinaryReader over the given input stream. + + + + + Construct a NetworkBinaryReader over the given input + stream, reading strings using the given encoding. + + + + Helper method for constructing a temporary + BinaryReader over a byte[]. + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Override BinaryReader's method for network-order. + + + + + Subclass of BinaryWriter that writes integers etc in correct network order. + + + +

+ Kludge to compensate for .NET's broken little-endian-only BinaryWriter. +

+ See also NetworkBinaryReader. +

+
+
+ + + Construct a NetworkBinaryWriter over the given input stream. + + + + + Construct a NetworkBinaryWriter over the given input + stream, reading strings using the given encoding. + + + + Helper method for constructing a temporary + BinaryWriter streaming into a fresh MemoryStream + provisioned with the given initialSize. + + + Helper method for extracting the byte[] contents + of a BinaryWriter over a MemoryStream, such as constructed + by TemporaryBinaryWriter. + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + + Override BinaryWriter's method for network-order. + + + + A thread-safe shared queue implementation. + + + A thread-safe shared queue implementation. + + + Flag holding our current status. + + + The shared queue. + + Subclasses must ensure appropriate locking discipline when + accessing this field. See the implementation of Enqueue, + Dequeue. + + + + Close the queue. Causes all further Enqueue() + operations to throw EndOfStreamException, and all pending + or subsequent Dequeue() operations to throw an + EndOfStreamException once the queue is empty. + + + Retrieve the first item from the queue, or block if none available + + Callers of Dequeue() will block if no items are available + until some other thread calls Enqueue() or the queue is + closed. In the latter case this method will throw + EndOfStreamException. + + + + Retrieve the first item from the queue, or return + nothing if no items are available after the given + timeout + + + If one or more items are present on the queue at the time + the call is made, the call will return + immediately. Otherwise, the calling thread blocks until + either an item appears on the queue, or + millisecondsTimeout milliseconds have elapsed. + + + Returns true in the case that an item was available before + the timeout, in which case the out parameter "result" is + set to the item itself. + + + If no items were available before the timeout, returns + false, and sets "result" to null. + + + A timeout of -1 (i.e. System.Threading.Timeout.Infinite) + will be interpreted as a command to wait for an + indefinitely long period of time for an item to become + available. Usage of such a timeout is equivalent to + calling Dequeue() with no arguments. See also the MSDN + documentation for + System.Threading.Monitor.Wait(object,int). + + + If no items are present and the queue is in a closed + state, or if at any time while waiting the queue + transitions to a closed state (by a call to Close()), this + method will throw EndOfStreamException. + + + + + Retrieve the first item from the queue, or return + defaultValue immediately if no items are + available + + + If one or more objects are present in the queue at the + time of the call, the first item is removed from the queue + and returned. Otherwise, the defaultValue that was passed + in is returned immediately. This defaultValue may be null, + or in cases where null is part of the range of the queue, + may be some other sentinel object. The difference between + DequeueNoWait() and Dequeue() is that DequeueNoWait() will + not block when no items are available in the queue, + whereas Dequeue() will. + + + If at the time of call the queue is empty and in a + closed state (following a call to Close()), then this + method will throw EndOfStreamException. + + + + + Place an item at the end of the queue. + + If there is a thread waiting for an item to arrive, the + waiting thread will be woken, and the newly Enqueued item + will be passed to it. If the queue is closed on entry to + this method, EndOfStreamException will be thrown. + + + + Implementation of the IEnumerable interface, for + permitting SharedQueue to be used in foreach + loops. + + + Implementation of the IEnumerable interface, for + permitting SharedQueue to be used in foreach + loops. + + + Call only when the lock on m_queue is held. + + + + Implementation of the IEnumerator interface, for + permitting SharedQueue to be used in foreach loops. + + + Construct an enumerator for the given + SharedQueue. + + + Reset()ting a SharedQueue doesn't make sense, so + this method always throws + InvalidOperationException. + +
+
diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.4.1.1.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.4.1.1.nupkg.sha512 new file mode 100644 index 00000000..f2f54ca0 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.4.1.1.nupkg.sha512 @@ -0,0 +1 @@ +xs6V7QAB3vt940ThUl7jMIuMnONrVHVAqcqK445UzFaEma3cUHflDhWAo8BMv//h/SeFhC+ZKk/4OT7j+XPfCQ== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.nuspec b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.nuspec new file mode 100644 index 00000000..bd7e10c5 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/rabbitmq.client/4.1.1/rabbitmq.client.nuspec @@ -0,0 +1,38 @@ + + + + RabbitMQ.Client + 4.1.1 + RabbitMQ .NET Client + RabbitMQ.Client + Pivotal + http://www.rabbitmq.com/dotnet.html + http://www.rabbitmq.com/dotnet.html + https://en.gravatar.com/userimage/10048884/0ea8846e080980f705da081be53599ce.png?size=100 + false + The RabbitMQ .NET client is the official client library for C# (and, implicitly, other .NET languages). Supports .NET Core and .NET 4.5.1+. + The RabbitMQ .NET client is the official client library for C#. Supports .NET Core and .NET 4.5.1+. + 2006 — current, Pivotal Software, Inc. + RabbitMQ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.nupkg.metadata new file mode 100644 index 00000000..3171c299 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "kAZoUF/U/X+/ep5ZytpydcURbt1tvhyArOrWct0QLW72j6cquu2JyJlzNAaKW1yBZcblx1PvzvFJADhBuaIiMQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.signature.p7s b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.signature.p7s new file mode 100644 index 00000000..51eff753 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/.signature.p7s differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.dll b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.dll new file mode 100644 index 00000000..7853eced Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.xml b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.xml new file mode 100644 index 00000000..85fd7afb --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/net45/Serilog.Extensions.Logging.xml @@ -0,0 +1,48 @@ + + + + Serilog.Extensions.Logging + + + + + Extends with Serilog configuration methods. + + + + + Add Serilog to the logging pipeline. + + The logger factory to configure. + The Serilog logger; if not supplied, the static will be used. + When true, dispose when the framework disposes the provider. If the + logger is not specified but is true, the method will be + called on the static class instead. + The logger factory. + + + + An that pipes events through Serilog. + + + + + Construct a . + + A Serilog logger to pipe events through; if null, the static class will be used. + If true, the provided logger or static log class will be disposed/closed when the provider is disposed. + + + + + + + + + + + + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.dll b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.dll new file mode 100644 index 00000000..42f8f1a5 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.xml b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.xml new file mode 100644 index 00000000..85fd7afb --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/lib/netstandard1.3/Serilog.Extensions.Logging.xml @@ -0,0 +1,48 @@ + + + + Serilog.Extensions.Logging + + + + + Extends with Serilog configuration methods. + + + + + Add Serilog to the logging pipeline. + + The logger factory to configure. + The Serilog logger; if not supplied, the static will be used. + When true, dispose when the framework disposes the provider. If the + logger is not specified but is true, the method will be + called on the static class instead. + The logger factory. + + + + An that pipes events through Serilog. + + + + + Construct a . + + A Serilog logger to pipe events through; if null, the static class will be used. + If true, the provided logger or static log class will be disposed/closed when the provider is disposed. + + + + + + + + + + + + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.1.2.0.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.1.2.0.nupkg.sha512 new file mode 100644 index 00000000..38c523b4 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.1.2.0.nupkg.sha512 @@ -0,0 +1 @@ +NvTv/NhgOx4ysOLE77i7MZkSsdBPuKy9Vs6ESwbNzhLw6tAvHYncx2C6pSN9b2C0vyMAdLIxfxZGG31hRPsNVg== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.nuspec b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.nuspec new file mode 100644 index 00000000..f8141dc3 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.extensions.logging/1.2.0/serilog.extensions.logging.nuspec @@ -0,0 +1,27 @@ + + + + Serilog.Extensions.Logging + 1.2.0 + Microsoft,Serilog Contributors + Microsoft,Serilog Contributors + http://www.apache.org/licenses/LICENSE-2.0 + https://github.com/serilog/serilog-extensions-logging + http://serilog.net/images/serilog-extension-nuget.png + false + Serilog provider for Microsoft.Extensions.Logging + serilog,Microsoft.Extensions.Logging + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.nupkg.metadata new file mode 100644 index 00000000..22378e1b --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "FshW9PfIdLRfFCCoyU5Z8YKg6axd0ufy9pbcgTyf/mOIZjt78zVl5lZAjUBI2YDHncS3gtH/Bf0YKqMCWh2/0Q==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.signature.p7s b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.signature.p7s new file mode 100644 index 00000000..5e4b759d Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/.signature.p7s differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.dll b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.dll new file mode 100644 index 00000000..44cef483 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.xml b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.xml new file mode 100644 index 00000000..d72e3719 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/net45/Serilog.Sinks.PeriodicBatching.xml @@ -0,0 +1,109 @@ + + + + Serilog.Sinks.PeriodicBatching + + + + + Manages reconnection period and transient fault response for . + During normal operation an object of this type will simply echo the configured batch transmission + period. When availabilty fluctuates, the class tracks the number of failed attempts, each time + increasing the interval before reconnection is attempted (up to a set maximum) and at predefined + points indicating that either the current batch, or entire waiting queue, should be dropped. This + Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming + back online. Second, the sender needs to account for both bad batches (the first fault response) and + also overproduction (the second, queue-dropping response). In combination these should provide a + reasonable delivery effort but ultimately protect the sender from memory exhaustion. + + + Currently used only by , but may + provide the basis for a "smart" exponential backoff timer. There are other factors to consider + including the desire to send batches "when full" rather than continuing to buffer, and so-on. + + + + + Base class for sinks that log events in batches. Batching is + triggered asynchronously on a timer. + + + To avoid unbounded memory growth, events are discarded after attempting + to send a batch, regardless of whether the batch succeeded or not. Implementers + that want to change this behavior need to either implement from scratch, or + embed retry logic in the batch emitting functions. + + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + Maximum number of events in the queue. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Free resources held by the sink. + + If true, called because the object is being disposed; if false, + the object is being disposed from the finalizer. + + + + Emit a batch of log events, running to completion synchronously. + + The events to emit. + Override either or , + not both. + + + + Emit a batch of log events, running asynchronously. + + The events to emit. + Override either or , + not both. Overriding EmitBatch() is preferred. + + + + Emit the provided log event to the sink. If the sink is being disposed or + the app domain unloaded, then the event is ignored. + + Log event to emit. + The event is null. + + The sink implements the contract that any events whose Emit() method has + completed at the time of sink disposal will be flushed (or attempted to, + depending on app domain state). + + + + + Determine whether a queued log event should be included in the batch. If + an override returns false, the event will be dropped. + + + + + + + Allows derived sinks to perform periodic work without requiring additional threads + or timers (thus avoiding additional flush/shut-down complexity). + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.dll b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.dll new file mode 100644 index 00000000..d762591d Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.xml b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.xml new file mode 100644 index 00000000..d72e3719 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.1/Serilog.Sinks.PeriodicBatching.xml @@ -0,0 +1,109 @@ + + + + Serilog.Sinks.PeriodicBatching + + + + + Manages reconnection period and transient fault response for . + During normal operation an object of this type will simply echo the configured batch transmission + period. When availabilty fluctuates, the class tracks the number of failed attempts, each time + increasing the interval before reconnection is attempted (up to a set maximum) and at predefined + points indicating that either the current batch, or entire waiting queue, should be dropped. This + Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming + back online. Second, the sender needs to account for both bad batches (the first fault response) and + also overproduction (the second, queue-dropping response). In combination these should provide a + reasonable delivery effort but ultimately protect the sender from memory exhaustion. + + + Currently used only by , but may + provide the basis for a "smart" exponential backoff timer. There are other factors to consider + including the desire to send batches "when full" rather than continuing to buffer, and so-on. + + + + + Base class for sinks that log events in batches. Batching is + triggered asynchronously on a timer. + + + To avoid unbounded memory growth, events are discarded after attempting + to send a batch, regardless of whether the batch succeeded or not. Implementers + that want to change this behavior need to either implement from scratch, or + embed retry logic in the batch emitting functions. + + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + Maximum number of events in the queue. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Free resources held by the sink. + + If true, called because the object is being disposed; if false, + the object is being disposed from the finalizer. + + + + Emit a batch of log events, running to completion synchronously. + + The events to emit. + Override either or , + not both. + + + + Emit a batch of log events, running asynchronously. + + The events to emit. + Override either or , + not both. Overriding EmitBatch() is preferred. + + + + Emit the provided log event to the sink. If the sink is being disposed or + the app domain unloaded, then the event is ignored. + + Log event to emit. + The event is null. + + The sink implements the contract that any events whose Emit() method has + completed at the time of sink disposal will be flushed (or attempted to, + depending on app domain state). + + + + + Determine whether a queued log event should be included in the batch. If + an override returns false, the event will be dropped. + + + + + + + Allows derived sinks to perform periodic work without requiring additional threads + or timers (thus avoiding additional flush/shut-down complexity). + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.dll b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.dll new file mode 100644 index 00000000..62581c9e Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.xml b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.xml new file mode 100644 index 00000000..d72e3719 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/lib/netstandard1.2/Serilog.Sinks.PeriodicBatching.xml @@ -0,0 +1,109 @@ + + + + Serilog.Sinks.PeriodicBatching + + + + + Manages reconnection period and transient fault response for . + During normal operation an object of this type will simply echo the configured batch transmission + period. When availabilty fluctuates, the class tracks the number of failed attempts, each time + increasing the interval before reconnection is attempted (up to a set maximum) and at predefined + points indicating that either the current batch, or entire waiting queue, should be dropped. This + Serves two purposes - first, a loaded receiver may need a temporary reduction in traffic while coming + back online. Second, the sender needs to account for both bad batches (the first fault response) and + also overproduction (the second, queue-dropping response). In combination these should provide a + reasonable delivery effort but ultimately protect the sender from memory exhaustion. + + + Currently used only by , but may + provide the basis for a "smart" exponential backoff timer. There are other factors to consider + including the desire to send batches "when full" rather than continuing to buffer, and so-on. + + + + + Base class for sinks that log events in batches. Batching is + triggered asynchronously on a timer. + + + To avoid unbounded memory growth, events are discarded after attempting + to send a batch, regardless of whether the batch succeeded or not. Implementers + that want to change this behavior need to either implement from scratch, or + embed retry logic in the batch emitting functions. + + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + + + + Construct a sink posting to the specified database. + + The maximum number of events to include in a single batch. + The time to wait between checking for event batches. + Maximum number of events in the queue. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + 2 + + + + Free resources held by the sink. + + If true, called because the object is being disposed; if false, + the object is being disposed from the finalizer. + + + + Emit a batch of log events, running to completion synchronously. + + The events to emit. + Override either or , + not both. + + + + Emit a batch of log events, running asynchronously. + + The events to emit. + Override either or , + not both. Overriding EmitBatch() is preferred. + + + + Emit the provided log event to the sink. If the sink is being disposed or + the app domain unloaded, then the event is ignored. + + Log event to emit. + The event is null. + + The sink implements the contract that any events whose Emit() method has + completed at the time of sink disposal will be flushed (or attempted to, + depending on app domain state). + + + + + Determine whether a queued log event should be included in the batch. If + an override returns false, the event will be dropped. + + + + + + + Allows derived sinks to perform periodic work without requiring additional threads + or timers (thus avoiding additional flush/shut-down complexity). + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.2.1.0.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.2.1.0.nupkg.sha512 new file mode 100644 index 00000000..9fa5cf65 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.2.1.0.nupkg.sha512 @@ -0,0 +1 @@ +h7PBEjHybihyezQ9QlyDuwUuJ/gGqaa6ZN+xCIbhDaypOuk8jWqo1xHU1R2oc7O1JZ3sHtB4eeRsuMrvJ+LEzQ== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.nuspec b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.nuspec new file mode 100644 index 00000000..ff86eef7 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.periodicbatching/2.1.0/serilog.sinks.periodicbatching.nuspec @@ -0,0 +1,29 @@ + + + + Serilog.Sinks.PeriodicBatching + 2.1.0 + Serilog Contributors + Serilog Contributors + http://www.apache.org/licenses/LICENSE-2.0 + http://serilog.net/ + http://serilog.net/images/serilog-sink-nuget.png + false + The periodic batching sink for Serilog + serilog,batching,timer + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.nupkg.metadata new file mode 100644 index 00000000..c50fcac5 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "7jaXpVUofqjaPSgjFKGDExHx04xx9zrjm0XdFzSFDoocfkHtUuvLnFqFwja/CPIqnU1yFZ0iKPdGSy8jbRro6w==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.signature.p7s b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.signature.p7s new file mode 100644 index 00000000..d65b77e6 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/.signature.p7s differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.dll b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.dll new file mode 100644 index 00000000..ee34d732 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.xml b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.xml new file mode 100644 index 00000000..f5ed8806 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/net45/Serilog.Sinks.RollingFile.xml @@ -0,0 +1,110 @@ + + + + Serilog.Sinks.RollingFile + + + + + Extends with rolling file configuration methods. + + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + Logger sink configuration. + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + A message template describing the format used to write to the sink. + the default is "{Timestamp} [{Level}] {Message}{NewLine}{Exception}". + Supplies culture-specific formatting information, or null. + The maximum size, in bytes, to which any single log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + If provided, a full disk flush will be performed periodically at the specified interval. + Configuration object allowing method chaining. + The file will be written using the UTF-8 encoding without a byte-order mark. + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + Logger sink configuration. + Formatter to control how events are rendered into the file. To control + plain text formatting, use the overload that accepts an output template instead. + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + The maximum size, in bytes, to which any single log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + If provided, a full disk flush will be performed periodically at the specified interval. + Configuration object allowing method chaining. + The file will be written using the UTF-8 encoding without a byte-order mark. + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + + + Construct a . + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + Formatter used to convert log events to text. + The maximum size, in bytes, to which a log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Character encoding used to write the text file. The default is UTF-8 without BOM. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + Configuration object allowing method chaining. + The file will be written using the UTF-8 character set. + + + + Emit the provided log event to the sink. + + The log event to write. + Events that come in out-of-order (e.g. around the rollovers) + may end up written to a later file than their timestamp + would indicate. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources. + + + + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.dll b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.dll new file mode 100644 index 00000000..d354bc60 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.xml b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.xml new file mode 100644 index 00000000..f5ed8806 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/lib/netstandard1.3/Serilog.Sinks.RollingFile.xml @@ -0,0 +1,110 @@ + + + + Serilog.Sinks.RollingFile + + + + + Extends with rolling file configuration methods. + + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + Logger sink configuration. + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + A message template describing the format used to write to the sink. + the default is "{Timestamp} [{Level}] {Message}{NewLine}{Exception}". + Supplies culture-specific formatting information, or null. + The maximum size, in bytes, to which any single log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + If provided, a full disk flush will be performed periodically at the specified interval. + Configuration object allowing method chaining. + The file will be written using the UTF-8 encoding without a byte-order mark. + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + Logger sink configuration. + Formatter to control how events are rendered into the file. To control + plain text formatting, use the overload that accepts an output template instead. + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + The maximum size, in bytes, to which any single log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + If provided, a full disk flush will be performed periodically at the specified interval. + Configuration object allowing method chaining. + The file will be written using the UTF-8 encoding without a byte-order mark. + + + + Write log events to a series of files. Each file will be named according to + the date of the first log entry written to it. Only simple date-based rolling is + currently supported. + + + + Construct a . + String describing the location of the log files, + with {Date} in the place of the file date. E.g. "Logs\myapp-{Date}.log" will result in log + files such as "Logs\myapp-2013-10-20.log", "Logs\myapp-2013-10-21.log" and so on. + Formatter used to convert log events to text. + The maximum size, in bytes, to which a log file will be allowed to grow. + For unrestricted growth, pass null. The default is 1 GB. + The maximum number of log files that will be retained, + including the current log file. For unlimited retention, pass null. The default is 31. + Character encoding used to write the text file. The default is UTF-8 without BOM. + Indicates if flushing to the output file can be buffered or not. The default + is false. + Allow the log files to be shared by multiple processes. The default is false. + Configuration object allowing method chaining. + The file will be written using the UTF-8 character set. + + + + Emit the provided log event to the sink. + + The log event to write. + Events that come in out-of-order (e.g. around the rollovers) + may end up written to a later file than their timestamp + would indicate. + + + + Performs application-defined tasks associated with freeing, releasing, or + resetting unmanaged resources. + + + + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.3.2.0.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.3.2.0.nupkg.sha512 new file mode 100644 index 00000000..220909d7 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.3.2.0.nupkg.sha512 @@ -0,0 +1 @@ +nEsyKeHUQUprb5Z4TF0RjV55XO3plH2L/Es0lAPebxzme1vLXP99mZq4Zr9Wpupltqeot9i44Miph2WbIILuqA== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.nuspec b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.nuspec new file mode 100644 index 00000000..93bbf67b --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog.sinks.rollingfile/3.2.0/serilog.sinks.rollingfile.nuspec @@ -0,0 +1,27 @@ + + + + Serilog.Sinks.RollingFile + 3.2.0 + Serilog Contributors + Serilog Contributors + http://www.apache.org/licenses/LICENSE-2.0 + http://serilog.net/ + http://serilog.net/images/serilog-sink-nuget.png + false + The rolling file sink for Serilog - Simple .NET logging with fully-structured events + serilog,file,io,rolling + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.nupkg.metadata b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.nupkg.metadata new file mode 100644 index 00000000..97dd20a7 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.nupkg.metadata @@ -0,0 +1,5 @@ +{ + "version": 2, + "contentHash": "JwwkgNYNFKT4kQZ3qBV3VqPgchUg1A6FnlFa9hgyanylwBhJ7eTFl3pgLVxijFEb+oHLImRcMaTsMzBt2AG0aQ==", + "source": "https://api.nuget.org/v3/index.json" +} \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.signature.p7s b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.signature.p7s new file mode 100644 index 00000000..cc8132cc Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/.signature.p7s differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.dll b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.dll new file mode 100644 index 00000000..7a392edc Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.xml b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.xml new file mode 100644 index 00000000..3da73e54 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net45/Serilog.xml @@ -0,0 +1,4499 @@ + + + + Serilog + + + + + Create properties based on an ordered list of provided values. + + The template that the parameters apply to. + Objects corresponding to the properties + represented in the message template. + A list of properties; if the template is malformed then + this will be empty. + + + + Implemented on types that apply settings to a logger configuration. + + + + + Apply the settings to the logger configuration. + + The logger configuration to apply settings to. + + + + Controls audit sink configuration. + + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Controls template parameter destructuring configuration. + + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policies. + + Policies to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policy. + + Policy to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances of the specified type with + the provided function. + + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, transform instances of the specified type with + the provided function, if the predicate returns true. Be careful to avoid any + intensive work in the predicate, as it can slow down the pipeline significantly. + + A predicate used to determine if the transform applies to + a specific type of value + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, depth will be limited to 5 property traversals deep to + guard against ballooning space when recursive/cyclic structures are accidentally passed. To + increase this limit pass a higher value. + + The maximum depth to use. + Configuration object allowing method chaining. + + + + + When destructuring objects, string values can be restricted to specified length + thus avoiding bloating payload. Limit is applied to each value separately, + sum of length of strings can exceed limit. + + The maximum string length. + Configuration object allowing method chaining. + When passed length is less than 2 + + + + When destructuring objects, collections be restricted to specified count + thus avoiding bloating payload. Limit is applied to each collection separately, + sum of length of collection can exceed limit. + Applies limit to all including dictionaries. + + Configuration object allowing method chaining. + When passed length is less than 1 + + + + Controls enrichment configuration. + + + + + Specifies one or more enrichers that may add properties dynamically to + log events. + + Enrichers to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Specifies an enricher that may add properties dynamically to + log events. + + Enricher type to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Include the specified property value in all events logged to the logger. + + The name of the property to add. + The property value to add. + If true, objects of unknown type will be logged as structures; otherwise they will be converted using . + Configuration object allowing method chaining. + + + + Enrich log events with properties from . + + Configuration object allowing method chaining. + + + + + Controls filter configuration. + + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events that match a predicate. + + Function that returns true when an event + should be excluded (silenced). + Configuration object allowing method chaining. + + + + Filter log events to include only those that match a predicate. + + Function that returns true when an event + should be included (emitted). + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Sets the minimum level at which events will be passed to sinks. + + The minimum level to set. + Configuration object allowing method chaining. + + + + Sets the minimum level to be dynamically controlled by the provided switch. + + The switch. + Configuration object allowing method chaining. + + + + Anything and everything you might want to know about + a running block of code. + + Configuration object allowing method chaining. + + + + Internal system events that aren't necessarily + observable from the outside. + + Configuration object allowing method chaining. + + + + The lifeblood of operational intelligence - things + happen. + + Configuration object allowing method chaining. + + + + Service is degraded or endangered. + + Configuration object allowing method chaining. + + + + Functionality is unavailable, invariants are broken + or data is lost. + + Configuration object allowing method chaining. + + + + If you have a pager, it goes off when one of these + occurs. + + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The switch controlling loggers for matching sources. + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The minimum level applied to loggers for matching sources. + Configuration object allowing method chaining. + + + + Allows additional setting sources to drive the logger configuration. + + + + + Apply external settings to the logger configuration. + + Configuration object allowing method chaining. + + + + Apply settings specified in the Serilog key-value setting format to the logger configuration. + + A list of key-value pairs describing logger settings. + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + Provided for binary compatibility for earlier versions, + should be removed in 3.0. Not marked obsolete because warnings + would be syntactically annoying to avoid. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Helper method for wrapping sinks. + + The parent sink configuration. + A function that allows for wrapping s + added in . + An action that configures sinks to be wrapped in . + Configuration object allowing method chaining. + + + + Holds ambient properties that can be attached to log events. To + configure, use the method. + + + Configuration: + + var log = new LoggerConfiguration() + .Enrich.FromLogContext() + ... + + Usage: + + using (LogContext.PushProperty("MessageId", message.Id)) + { + Log.Information("The MessageId property will be attached to this event"); + } + + + The scope of the context is the current logical thread, using AsyncLocal + (and so is preserved across async/await calls). + + + + Push a property onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + A token that must be disposed, in order, to pop properties back off the stack. + + + + Push an enricher onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + An enricher to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push multiple enrichers onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + . + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push enrichers onto the log context. This method is obsolete, please + use instead. + + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Obtain an enricher that represents the current contents of the . This + can be pushed back onto the context in a different location/thread when required. + + An enricher that represents the current contents of the . + + + + Constants used in the core logging pipeline and associated types. + + + + + The name of the property included in the emitted log events + when ForContext<T>() and overloads are + applied. + + + + + Adds a new property encricher to the log event. + + + + + Create a new property enricher. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Determine how, when destructuring, a supplied value is represented + as a complex log event property. + + + + + If supported, destructure the provided value. + + The value to destructure. + Recursively apply policies to destructure additional values. + The destructured value, or null. + True if the value could be destructured under this policy. + + + + Applied during logging to add additional information to log events. + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Provides filtering of the log event stream. + + + + + Returns true if the provided event is enabled. Otherwise, false. + + The event to test. + True if the event is enabled by this filter. If false + is returned, the event will not be emitted. + + + + Creates log event properties from regular .NET objects, applying policies as + required. + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + Supports the policy-driven construction of s given + regular .NET objects. + + + + + Create a given a .NET object and destructuring + strategy. + + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + The value. + + + + A destination for log events. + + + + + Emit the provided log event to the sink. + + The log event to write. + + + + Determine how a simple value is carried through the logging + pipeline as an immutable . + + + + + If supported, convert the provided value into an immutable scalar. + + The value to convert. + The converted value, or null. + True if the value could be converted under this policy. + + + + The core Serilog logging pipeline. A must + be disposed to flush any events buffered within it. Most application + code should depend on , not this class. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Close and flush the logging pipeline. + + + + + Dynamically controls logging level. + + + + + Create a at the initial + minimum level. + + The initial level to which the switch is set. + + + + The current minimum level, below which no events + should be generated. + + + + + Indicates that the marked method logs data using a message template and (optional) arguments. + The name of the parameter which contains the message template should be given in the constructor. + + + + [LoggerMethod("messageTemplate")] + public void Information(string messageTemplate, params object[] propertyValues) + { + // Do something + } + + public void Foo() + { + Information("Hello, {Name}!") // Warning: Non-existing argument in message template. + } + + + + + + Initializes a new instance of the class. + + Name of the message template parameter. + + + + Gets the name of the message template parameter. + + The name of the message template parameter. + + + + Forwards log events to another logging pipeline. Copies the events so + that mutations performed on the copies do not affect the originals. + + The properties dictionary is copied, however the values within + the dictionary (of type are expected to + be immutable. + + + + A base class for visitors that rewrite the value with modifications. For example, implementations + might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of + one type into scalar properties of another. + + + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. Returns the value unchanged. + + Operation state. + The value to visit. + The result of visiting . + + + + An abstract base class for visitors that walk data in the + format. Subclasses, by + overriding appropriate methods, may search for, transform, + or print the value structures being visited. + + + Stateless, designed to accommodate allocation-free visiting of multiple + values by the same visitor instance. + + The type of a state object passed through + the visiting process. + The type of the result generated by visiting + a node. + + + + Visit the root node type. This method delegates to + a concrete Visit*Value() method appropriate for the value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. + + Operation state. + The value to visit. + The result of visiting . + + + + May be thrown by log event sinks when a failure occurs. Should not be used in cases + where the exception would propagate out to callers. + + + + + Construct a to communicate a logging failure. + + A message describing the logging failure. + + + + A simple source of information generated by Serilog itself, + for example when exceptions are thrown and caught internally. + + + + + The output mechanism for self-log messages. + + + SelfLog.Out = Console.Error; + + + + + Set the output mechanism for self-log messages. + + A synchronized to which + self-log messages will be written. + + + + Set the output mechanism for self-log messages. + + An action to invoke with self-log messages. + // ReSharper disable once MemberCanBePrivate.Global + + + + Clear the output mechanism and disable self-log events. + + // ReSharper disable once MemberCanBePrivate.Global + + + + Write a message to the self-log. + + Standard .NET format string containing the message. + First argument, if supplied. + Second argument, if supplied. + Third argument, if supplied. + + The name is historical; because this is used from third-party sink packages, removing the "Line" + suffix as would seem sensible isn't worth the breakage. + + + + + A value represented as a mapping from keys to values. + + + + + Create a with the provided . + + The key-value mappings represented in the dictionary. + + + + + The dictionary mapping. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Descriptive aliases for . + + These do not appear as members of the enumeration + as duplicated underlying values result in issues when presenting + enum values with . + + + + The least significant level of event. + + + + + The most significant level of event. + + + + + A log event. + + + + + Construct a new . + + The time at which the event occurred. + The level of the event. + An exception associated with the event, or null. + The message template describing the event. + Properties associated with the event, including those presented in . + + + + The time at which the event occurred. + + + + + The level of the event. + + + + + The message template describing the event. + + + + + Render the message template to the specified output, given the properties associated + with the event. + + The output. + Supplies culture-specific formatting information, or null. + + + + Render the message template given the properties associated + with the event, and return the result. + + Supplies culture-specific formatting information, or null. + + + + Properties associated with the event, including those presented in . + + + + + An exception associated with the event, or null. + + + + + Add a property to the event if not already present, otherwise, update its value. + + The property to add or update. + + + + + Add a property to the event if not already present. + + The property to add. + + + + + Remove a property from the event, if present. Otherwise no action + is performed. + + The name of the property to remove. + + + + Specifies the meaning and relative importance of a log event. + + + + + Anything and everything you might want to know about + a running block of code. + + + + + Internal system events that aren't necessarily + observable from the outside. + + + + + The lifeblood of operational intelligence - things + happen. + + + + + Service is degraded or endangered. + + + + + Functionality is unavailable, invariants are broken + or data is lost. + + + + + If you have a pager, it goes off when one of these + occurs. + + + + + A property associated with a . + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + + + + + + The name of the property. + + + + + The value of the property. + + + + + Test to determine if it is a valid property name. + + The name to check. + True if the name is valid; otherwise, false. + + + + The value associated with a . Divided into scalar, + sequence and structure values to direct serialization into various formats. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + Formats the value of the current instance using the specified format. + + + The value of the current instance in the specified format. + + The format to use.-or- A null reference (Nothing in Visual Basic) to use + the default format defined for the type of the implementation. + The provider to use to format the value.-or- A null reference + (Nothing in Visual Basic) to obtain the numeric format information from the current locale + setting of the operating system. 2 + + + + Represents a message template passed to a log method. The template + can subsequently render the template in textual form given the list + of properties. + + + + + Represents the empty message template. + + + + + Construct a message template using manually-defined text and property tokens. + + The text and property tokens defining the template. + + + + Construct a message template using manually-defined text and property tokens. + + The full text of the template; used by Serilog internally to avoid unneeded + string concatenation. + The text and property tokens defining the template. + + + + Similar to , but faster. + + + + + The raw text describing the template. + + + + + Render the template as a string. + + The string representation of the template. + + + + The tokens parsed from the template. + + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + Supplies culture-specific formatting information, or null. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + Supplies culture-specific formatting information, or null. + + + + A property value corresponding to a simple, scalar type. + + + + + Construct a with the specified + value. + + The value, which may be null. + + + + The value, which may be null. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Determine if this instance is equal to . + + The instance to compare with. + True if the instances are equal; otherwise, false. + + + + Get a hash code representing the value. + + The instance's hash code. + + + + A value represented as an ordered sequence of values. + + + + + Create a with the provided . + + The elements of the sequence. + + + + + The elements of the sequence. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + A value represented as a collection of name-value properties. + + + + + Construct a with the provided properties. + + Optionally, a piece of metadata describing the "type" of the + structure. + The properties of the structure. + + + + + A piece of metadata describing the "type" of the + structure, or null. + + + + + The properties of the structure. + + Not presented as a dictionary because dictionary construction is + relatively expensive; it is cheaper to build a dictionary over properties only + when the structure is of interest. + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Predicates applied to log events that can be used + + + + + Matches events from the specified source type. + + The source type. + A predicate for matching events. + + + + Matches events from the specified source type or namespace and + nested types or namespaces. + + A dotted source type or namespace identifier. + A function that matches log events emitted by the source. + + + + Matches events with the specified property attached, + regardless of its value. + + The name of the property to match. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + The property value to match; must be a scalar type. + Null is allowed. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + A predicate for testing + The type of scalar values to match. + A predicate for matching events. + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + A that supports the Serilog + message template format. Formatting log events for display + has a different set of requirements and expectations from + rendering the data within them. To meet this, the formatter + overrides some behavior: First, strings are always output + as literals (not quoted) unless some other format is applied + to them. Second, tokens without matching properties are skipped + rather than being written as raw text. + + + + + Construct a . + + A message template describing the + output messages. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + This method will apply only upper or lower case formatting, not fixed width + + + + + Describes the properties available in standard message template-based + output format strings. + + + + + The message rendered from the log event. + + + + + The timestamp of the log event. + + + + + The level of the log event. + + + + + A new line. + + + + + The exception associated with the log event. + + + + + The properties of the log event. + + + + + Create properties from the provided log event. + + The log event. + A dictionary with properties representing the log event. + + + + Create properties from the provided log event. + + The log event. + The output template. + A dictionary with properties representing the log event. + + + + Formats log events in a textual representation. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + Formats log events in a simple JSON structure. Instances of this class + are safe for concurrent access by multiple threads. + + + + + Construct a . + + A string that will be written after each log event is formatted. + If null, will be used. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Construct a . + + If true, the properties of the event will be written to + the output without enclosing braces. Otherwise, if false, each event will be written as a well-formed + JSON object. + A string that will be written after each log event is formatted. + If null, will be used. Ignored if + is true. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + Adds a writer function for a given type. + + The type of values, which handles. + The function, which writes the values. + + + + Writes out individual renderings of attached properties + + + + + Writes out the values of individual renderings of attached properties + + + + + Writes out the attached properties + + + + + Writes out the attached properties values + + + + + Writes out the attached exception + + + + + (Optionally) writes out the rendered message + + + + + Writes out the message template for the logevent. + + + + + Writes out the log level + + + + + Writes out the log timestamp + + + + + Writes out a structure property + + + + + Writes out a sequence property + + + + + Writes out a dictionary + + + + + Writes out a json property with the specified value on output writer + + + + + Allows a subclass to write out objects that have no configured literal writer. + + The value to be written as a json construct + The writer to write on + + + + Perform simple JSON string escaping on . + + A raw string. + A JSON-escaped version of . + + + + Converts Serilog's structured property value format into JSON. + + + + + Construct a . + + When serializing structured (object) values, + the property name to use for the Serilog field + in the resulting JSON. If null, no type tag field will be written. The default is + "_typeTag". + + + + Format as JSON to . + + The value to format + The output + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Write a literal as a single JSON value, e.g. as a number or string. Override to + support more value types. Don't write arrays/structures through this method - the + active destructuring policies have already indicated the value should be scalar at + this point. + + The value to write. + The output + + + + Write a valid JSON string literal, escaping as necessary. + + The string value to write. + The output. + + + + Formats log events as a raw dump of the message template and properties. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + The core Serilog logging API, used for writing log events. + + + var log = new LoggerConfiguration() + .WriteTo.Console() + .CreateLogger(); + + var thing = "World"; + log.Information("Hello, {Thing}!", thing); + + + The methods on (and its static sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + An optional static entry point for logging that can be easily referenced + by different parts of an application. To configure the + set the Logger static property to a logger instance. + + + Log.Logger = new LoggerConfiguration() + .WithConsoleSink() + .CreateLogger(); + + var thing = "World"; + Log.Logger.Information("Hello, {Thing}!", thing); + + + The methods on (and its dynamic sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + The globally-shared logger. + + + + + + Resets to the default and disposes the original if possible + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Configuration object for creating instances. + + + + + Configures the sinks that log events will be emitted to. + + + + + Configures sinks for auditing, instead of regular (safe) logging. When auditing is used, + exceptions from sinks and any intermediate filters propagate back to the caller. Most callers + should use instead. + + + Not all sinks are compatible with transactional auditing requirements (many will use asynchronous + batching to improve write throughput and latency). Sinks need to opt-in to auditing support by + extending , though the generic + method allows any sink class to be adapted for auditing. + + + + + Configures the minimum level at which events will be passed to sinks. If + not specified, only events at the + level and above will be passed through. + + Configuration object allowing method chaining. + + + + Configures enrichment of s. Enrichers can add, remove and + modify the properties associated with events. + + + + + Configures global filtering of s. + + + + + Configures destructuring of message template parameters. + + + + + Apply external settings to the logger configuration. + + + + + Create a logger using the configured sinks, enrichers and minimum level. + + The logger. + To free resources held by sinks ahead of program shutdown, + the returned logger may be cast to and + disposed. + + + + A structure representing the alignment settings to apply when rendering a property. + + + + + Initializes a new instance of . + + The text alignment direction. + The width of the text, in characters. + + + + The text alignment direction. + + + + + The width of the text. + + + + + Defines the direction of the alignment. + + + + + Text will be left-aligned. + + + + + Text will be right-aligned. + + + + + Instructs the logger on how to store information about provided + parameters. + + + + + Convert known types and objects to scalars, arrays to sequences. + + + + + Convert all types to scalar strings. Prefix name with '$'. + + + + + Convert known types to scalars, destructure objects and collections + into sequences and structures. Prefix name with '@'. + + + + + Parses message template strings into sequences of text or property + tokens. + + + + + Parse the supplied message template. + + The message template to parse. + A sequence of text or property tokens. Where the template + is not syntactically valid, text tokens will be returned. The parser + will make a best effort to extract valid property tokens even in the + presence of parsing issues. + + + + An element parsed from a message template string. + + + + + Construct a . + + The token's start index in the template. + + + + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + A message template token representing a log event property. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The destructuring strategy applied to the property, if any. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The alignment applied to the property, if any. + The destructuring strategy applied to the property, if any. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + The property name. + + + + + Destructuring strategy applied to the property. + + + + + Format applied to the property. + + + + + Alignment applied to the property. + + + + + True if the property name is a positional index; otherwise, false. + + + + + Try to get the integer value represented by the property name. + + The integer value, if present. + True if the property is positional, otherwise false. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + A message template token representing literal text. + + + + + Construct a . + + The text of the token. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + The text of the token. + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided + + The provided with formatting applied + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.dll b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.dll new file mode 100644 index 00000000..06d8dbf5 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.xml b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.xml new file mode 100644 index 00000000..3da73e54 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/net46/Serilog.xml @@ -0,0 +1,4499 @@ + + + + Serilog + + + + + Create properties based on an ordered list of provided values. + + The template that the parameters apply to. + Objects corresponding to the properties + represented in the message template. + A list of properties; if the template is malformed then + this will be empty. + + + + Implemented on types that apply settings to a logger configuration. + + + + + Apply the settings to the logger configuration. + + The logger configuration to apply settings to. + + + + Controls audit sink configuration. + + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Controls template parameter destructuring configuration. + + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policies. + + Policies to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policy. + + Policy to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances of the specified type with + the provided function. + + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, transform instances of the specified type with + the provided function, if the predicate returns true. Be careful to avoid any + intensive work in the predicate, as it can slow down the pipeline significantly. + + A predicate used to determine if the transform applies to + a specific type of value + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, depth will be limited to 5 property traversals deep to + guard against ballooning space when recursive/cyclic structures are accidentally passed. To + increase this limit pass a higher value. + + The maximum depth to use. + Configuration object allowing method chaining. + + + + + When destructuring objects, string values can be restricted to specified length + thus avoiding bloating payload. Limit is applied to each value separately, + sum of length of strings can exceed limit. + + The maximum string length. + Configuration object allowing method chaining. + When passed length is less than 2 + + + + When destructuring objects, collections be restricted to specified count + thus avoiding bloating payload. Limit is applied to each collection separately, + sum of length of collection can exceed limit. + Applies limit to all including dictionaries. + + Configuration object allowing method chaining. + When passed length is less than 1 + + + + Controls enrichment configuration. + + + + + Specifies one or more enrichers that may add properties dynamically to + log events. + + Enrichers to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Specifies an enricher that may add properties dynamically to + log events. + + Enricher type to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Include the specified property value in all events logged to the logger. + + The name of the property to add. + The property value to add. + If true, objects of unknown type will be logged as structures; otherwise they will be converted using . + Configuration object allowing method chaining. + + + + Enrich log events with properties from . + + Configuration object allowing method chaining. + + + + + Controls filter configuration. + + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events that match a predicate. + + Function that returns true when an event + should be excluded (silenced). + Configuration object allowing method chaining. + + + + Filter log events to include only those that match a predicate. + + Function that returns true when an event + should be included (emitted). + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Sets the minimum level at which events will be passed to sinks. + + The minimum level to set. + Configuration object allowing method chaining. + + + + Sets the minimum level to be dynamically controlled by the provided switch. + + The switch. + Configuration object allowing method chaining. + + + + Anything and everything you might want to know about + a running block of code. + + Configuration object allowing method chaining. + + + + Internal system events that aren't necessarily + observable from the outside. + + Configuration object allowing method chaining. + + + + The lifeblood of operational intelligence - things + happen. + + Configuration object allowing method chaining. + + + + Service is degraded or endangered. + + Configuration object allowing method chaining. + + + + Functionality is unavailable, invariants are broken + or data is lost. + + Configuration object allowing method chaining. + + + + If you have a pager, it goes off when one of these + occurs. + + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The switch controlling loggers for matching sources. + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The minimum level applied to loggers for matching sources. + Configuration object allowing method chaining. + + + + Allows additional setting sources to drive the logger configuration. + + + + + Apply external settings to the logger configuration. + + Configuration object allowing method chaining. + + + + Apply settings specified in the Serilog key-value setting format to the logger configuration. + + A list of key-value pairs describing logger settings. + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + Provided for binary compatibility for earlier versions, + should be removed in 3.0. Not marked obsolete because warnings + would be syntactically annoying to avoid. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Helper method for wrapping sinks. + + The parent sink configuration. + A function that allows for wrapping s + added in . + An action that configures sinks to be wrapped in . + Configuration object allowing method chaining. + + + + Holds ambient properties that can be attached to log events. To + configure, use the method. + + + Configuration: + + var log = new LoggerConfiguration() + .Enrich.FromLogContext() + ... + + Usage: + + using (LogContext.PushProperty("MessageId", message.Id)) + { + Log.Information("The MessageId property will be attached to this event"); + } + + + The scope of the context is the current logical thread, using AsyncLocal + (and so is preserved across async/await calls). + + + + Push a property onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + A token that must be disposed, in order, to pop properties back off the stack. + + + + Push an enricher onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + An enricher to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push multiple enrichers onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + . + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push enrichers onto the log context. This method is obsolete, please + use instead. + + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Obtain an enricher that represents the current contents of the . This + can be pushed back onto the context in a different location/thread when required. + + An enricher that represents the current contents of the . + + + + Constants used in the core logging pipeline and associated types. + + + + + The name of the property included in the emitted log events + when ForContext<T>() and overloads are + applied. + + + + + Adds a new property encricher to the log event. + + + + + Create a new property enricher. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Determine how, when destructuring, a supplied value is represented + as a complex log event property. + + + + + If supported, destructure the provided value. + + The value to destructure. + Recursively apply policies to destructure additional values. + The destructured value, or null. + True if the value could be destructured under this policy. + + + + Applied during logging to add additional information to log events. + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Provides filtering of the log event stream. + + + + + Returns true if the provided event is enabled. Otherwise, false. + + The event to test. + True if the event is enabled by this filter. If false + is returned, the event will not be emitted. + + + + Creates log event properties from regular .NET objects, applying policies as + required. + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + Supports the policy-driven construction of s given + regular .NET objects. + + + + + Create a given a .NET object and destructuring + strategy. + + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + The value. + + + + A destination for log events. + + + + + Emit the provided log event to the sink. + + The log event to write. + + + + Determine how a simple value is carried through the logging + pipeline as an immutable . + + + + + If supported, convert the provided value into an immutable scalar. + + The value to convert. + The converted value, or null. + True if the value could be converted under this policy. + + + + The core Serilog logging pipeline. A must + be disposed to flush any events buffered within it. Most application + code should depend on , not this class. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Close and flush the logging pipeline. + + + + + Dynamically controls logging level. + + + + + Create a at the initial + minimum level. + + The initial level to which the switch is set. + + + + The current minimum level, below which no events + should be generated. + + + + + Indicates that the marked method logs data using a message template and (optional) arguments. + The name of the parameter which contains the message template should be given in the constructor. + + + + [LoggerMethod("messageTemplate")] + public void Information(string messageTemplate, params object[] propertyValues) + { + // Do something + } + + public void Foo() + { + Information("Hello, {Name}!") // Warning: Non-existing argument in message template. + } + + + + + + Initializes a new instance of the class. + + Name of the message template parameter. + + + + Gets the name of the message template parameter. + + The name of the message template parameter. + + + + Forwards log events to another logging pipeline. Copies the events so + that mutations performed on the copies do not affect the originals. + + The properties dictionary is copied, however the values within + the dictionary (of type are expected to + be immutable. + + + + A base class for visitors that rewrite the value with modifications. For example, implementations + might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of + one type into scalar properties of another. + + + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. Returns the value unchanged. + + Operation state. + The value to visit. + The result of visiting . + + + + An abstract base class for visitors that walk data in the + format. Subclasses, by + overriding appropriate methods, may search for, transform, + or print the value structures being visited. + + + Stateless, designed to accommodate allocation-free visiting of multiple + values by the same visitor instance. + + The type of a state object passed through + the visiting process. + The type of the result generated by visiting + a node. + + + + Visit the root node type. This method delegates to + a concrete Visit*Value() method appropriate for the value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. + + Operation state. + The value to visit. + The result of visiting . + + + + May be thrown by log event sinks when a failure occurs. Should not be used in cases + where the exception would propagate out to callers. + + + + + Construct a to communicate a logging failure. + + A message describing the logging failure. + + + + A simple source of information generated by Serilog itself, + for example when exceptions are thrown and caught internally. + + + + + The output mechanism for self-log messages. + + + SelfLog.Out = Console.Error; + + + + + Set the output mechanism for self-log messages. + + A synchronized to which + self-log messages will be written. + + + + Set the output mechanism for self-log messages. + + An action to invoke with self-log messages. + // ReSharper disable once MemberCanBePrivate.Global + + + + Clear the output mechanism and disable self-log events. + + // ReSharper disable once MemberCanBePrivate.Global + + + + Write a message to the self-log. + + Standard .NET format string containing the message. + First argument, if supplied. + Second argument, if supplied. + Third argument, if supplied. + + The name is historical; because this is used from third-party sink packages, removing the "Line" + suffix as would seem sensible isn't worth the breakage. + + + + + A value represented as a mapping from keys to values. + + + + + Create a with the provided . + + The key-value mappings represented in the dictionary. + + + + + The dictionary mapping. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Descriptive aliases for . + + These do not appear as members of the enumeration + as duplicated underlying values result in issues when presenting + enum values with . + + + + The least significant level of event. + + + + + The most significant level of event. + + + + + A log event. + + + + + Construct a new . + + The time at which the event occurred. + The level of the event. + An exception associated with the event, or null. + The message template describing the event. + Properties associated with the event, including those presented in . + + + + The time at which the event occurred. + + + + + The level of the event. + + + + + The message template describing the event. + + + + + Render the message template to the specified output, given the properties associated + with the event. + + The output. + Supplies culture-specific formatting information, or null. + + + + Render the message template given the properties associated + with the event, and return the result. + + Supplies culture-specific formatting information, or null. + + + + Properties associated with the event, including those presented in . + + + + + An exception associated with the event, or null. + + + + + Add a property to the event if not already present, otherwise, update its value. + + The property to add or update. + + + + + Add a property to the event if not already present. + + The property to add. + + + + + Remove a property from the event, if present. Otherwise no action + is performed. + + The name of the property to remove. + + + + Specifies the meaning and relative importance of a log event. + + + + + Anything and everything you might want to know about + a running block of code. + + + + + Internal system events that aren't necessarily + observable from the outside. + + + + + The lifeblood of operational intelligence - things + happen. + + + + + Service is degraded or endangered. + + + + + Functionality is unavailable, invariants are broken + or data is lost. + + + + + If you have a pager, it goes off when one of these + occurs. + + + + + A property associated with a . + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + + + + + + The name of the property. + + + + + The value of the property. + + + + + Test to determine if it is a valid property name. + + The name to check. + True if the name is valid; otherwise, false. + + + + The value associated with a . Divided into scalar, + sequence and structure values to direct serialization into various formats. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + Formats the value of the current instance using the specified format. + + + The value of the current instance in the specified format. + + The format to use.-or- A null reference (Nothing in Visual Basic) to use + the default format defined for the type of the implementation. + The provider to use to format the value.-or- A null reference + (Nothing in Visual Basic) to obtain the numeric format information from the current locale + setting of the operating system. 2 + + + + Represents a message template passed to a log method. The template + can subsequently render the template in textual form given the list + of properties. + + + + + Represents the empty message template. + + + + + Construct a message template using manually-defined text and property tokens. + + The text and property tokens defining the template. + + + + Construct a message template using manually-defined text and property tokens. + + The full text of the template; used by Serilog internally to avoid unneeded + string concatenation. + The text and property tokens defining the template. + + + + Similar to , but faster. + + + + + The raw text describing the template. + + + + + Render the template as a string. + + The string representation of the template. + + + + The tokens parsed from the template. + + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + Supplies culture-specific formatting information, or null. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + Supplies culture-specific formatting information, or null. + + + + A property value corresponding to a simple, scalar type. + + + + + Construct a with the specified + value. + + The value, which may be null. + + + + The value, which may be null. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Determine if this instance is equal to . + + The instance to compare with. + True if the instances are equal; otherwise, false. + + + + Get a hash code representing the value. + + The instance's hash code. + + + + A value represented as an ordered sequence of values. + + + + + Create a with the provided . + + The elements of the sequence. + + + + + The elements of the sequence. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + A value represented as a collection of name-value properties. + + + + + Construct a with the provided properties. + + Optionally, a piece of metadata describing the "type" of the + structure. + The properties of the structure. + + + + + A piece of metadata describing the "type" of the + structure, or null. + + + + + The properties of the structure. + + Not presented as a dictionary because dictionary construction is + relatively expensive; it is cheaper to build a dictionary over properties only + when the structure is of interest. + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Predicates applied to log events that can be used + + + + + Matches events from the specified source type. + + The source type. + A predicate for matching events. + + + + Matches events from the specified source type or namespace and + nested types or namespaces. + + A dotted source type or namespace identifier. + A function that matches log events emitted by the source. + + + + Matches events with the specified property attached, + regardless of its value. + + The name of the property to match. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + The property value to match; must be a scalar type. + Null is allowed. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + A predicate for testing + The type of scalar values to match. + A predicate for matching events. + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + A that supports the Serilog + message template format. Formatting log events for display + has a different set of requirements and expectations from + rendering the data within them. To meet this, the formatter + overrides some behavior: First, strings are always output + as literals (not quoted) unless some other format is applied + to them. Second, tokens without matching properties are skipped + rather than being written as raw text. + + + + + Construct a . + + A message template describing the + output messages. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + This method will apply only upper or lower case formatting, not fixed width + + + + + Describes the properties available in standard message template-based + output format strings. + + + + + The message rendered from the log event. + + + + + The timestamp of the log event. + + + + + The level of the log event. + + + + + A new line. + + + + + The exception associated with the log event. + + + + + The properties of the log event. + + + + + Create properties from the provided log event. + + The log event. + A dictionary with properties representing the log event. + + + + Create properties from the provided log event. + + The log event. + The output template. + A dictionary with properties representing the log event. + + + + Formats log events in a textual representation. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + Formats log events in a simple JSON structure. Instances of this class + are safe for concurrent access by multiple threads. + + + + + Construct a . + + A string that will be written after each log event is formatted. + If null, will be used. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Construct a . + + If true, the properties of the event will be written to + the output without enclosing braces. Otherwise, if false, each event will be written as a well-formed + JSON object. + A string that will be written after each log event is formatted. + If null, will be used. Ignored if + is true. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + Adds a writer function for a given type. + + The type of values, which handles. + The function, which writes the values. + + + + Writes out individual renderings of attached properties + + + + + Writes out the values of individual renderings of attached properties + + + + + Writes out the attached properties + + + + + Writes out the attached properties values + + + + + Writes out the attached exception + + + + + (Optionally) writes out the rendered message + + + + + Writes out the message template for the logevent. + + + + + Writes out the log level + + + + + Writes out the log timestamp + + + + + Writes out a structure property + + + + + Writes out a sequence property + + + + + Writes out a dictionary + + + + + Writes out a json property with the specified value on output writer + + + + + Allows a subclass to write out objects that have no configured literal writer. + + The value to be written as a json construct + The writer to write on + + + + Perform simple JSON string escaping on . + + A raw string. + A JSON-escaped version of . + + + + Converts Serilog's structured property value format into JSON. + + + + + Construct a . + + When serializing structured (object) values, + the property name to use for the Serilog field + in the resulting JSON. If null, no type tag field will be written. The default is + "_typeTag". + + + + Format as JSON to . + + The value to format + The output + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Write a literal as a single JSON value, e.g. as a number or string. Override to + support more value types. Don't write arrays/structures through this method - the + active destructuring policies have already indicated the value should be scalar at + this point. + + The value to write. + The output + + + + Write a valid JSON string literal, escaping as necessary. + + The string value to write. + The output. + + + + Formats log events as a raw dump of the message template and properties. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + The core Serilog logging API, used for writing log events. + + + var log = new LoggerConfiguration() + .WriteTo.Console() + .CreateLogger(); + + var thing = "World"; + log.Information("Hello, {Thing}!", thing); + + + The methods on (and its static sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + An optional static entry point for logging that can be easily referenced + by different parts of an application. To configure the + set the Logger static property to a logger instance. + + + Log.Logger = new LoggerConfiguration() + .WithConsoleSink() + .CreateLogger(); + + var thing = "World"; + Log.Logger.Information("Hello, {Thing}!", thing); + + + The methods on (and its dynamic sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + The globally-shared logger. + + + + + + Resets to the default and disposes the original if possible + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Configuration object for creating instances. + + + + + Configures the sinks that log events will be emitted to. + + + + + Configures sinks for auditing, instead of regular (safe) logging. When auditing is used, + exceptions from sinks and any intermediate filters propagate back to the caller. Most callers + should use instead. + + + Not all sinks are compatible with transactional auditing requirements (many will use asynchronous + batching to improve write throughput and latency). Sinks need to opt-in to auditing support by + extending , though the generic + method allows any sink class to be adapted for auditing. + + + + + Configures the minimum level at which events will be passed to sinks. If + not specified, only events at the + level and above will be passed through. + + Configuration object allowing method chaining. + + + + Configures enrichment of s. Enrichers can add, remove and + modify the properties associated with events. + + + + + Configures global filtering of s. + + + + + Configures destructuring of message template parameters. + + + + + Apply external settings to the logger configuration. + + + + + Create a logger using the configured sinks, enrichers and minimum level. + + The logger. + To free resources held by sinks ahead of program shutdown, + the returned logger may be cast to and + disposed. + + + + A structure representing the alignment settings to apply when rendering a property. + + + + + Initializes a new instance of . + + The text alignment direction. + The width of the text, in characters. + + + + The text alignment direction. + + + + + The width of the text. + + + + + Defines the direction of the alignment. + + + + + Text will be left-aligned. + + + + + Text will be right-aligned. + + + + + Instructs the logger on how to store information about provided + parameters. + + + + + Convert known types and objects to scalars, arrays to sequences. + + + + + Convert all types to scalar strings. Prefix name with '$'. + + + + + Convert known types to scalars, destructure objects and collections + into sequences and structures. Prefix name with '@'. + + + + + Parses message template strings into sequences of text or property + tokens. + + + + + Parse the supplied message template. + + The message template to parse. + A sequence of text or property tokens. Where the template + is not syntactically valid, text tokens will be returned. The parser + will make a best effort to extract valid property tokens even in the + presence of parsing issues. + + + + An element parsed from a message template string. + + + + + Construct a . + + The token's start index in the template. + + + + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + A message template token representing a log event property. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The destructuring strategy applied to the property, if any. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The alignment applied to the property, if any. + The destructuring strategy applied to the property, if any. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + The property name. + + + + + Destructuring strategy applied to the property. + + + + + Format applied to the property. + + + + + Alignment applied to the property. + + + + + True if the property name is a positional index; otherwise, false. + + + + + Try to get the integer value represented by the property name. + + The integer value, if present. + True if the property is positional, otherwise false. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + A message template token representing literal text. + + + + + Construct a . + + The text of the token. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + The text of the token. + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided + + The provided with formatting applied + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.dll b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.dll new file mode 100644 index 00000000..33bea604 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.xml b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.xml new file mode 100644 index 00000000..3da73e54 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.0/Serilog.xml @@ -0,0 +1,4499 @@ + + + + Serilog + + + + + Create properties based on an ordered list of provided values. + + The template that the parameters apply to. + Objects corresponding to the properties + represented in the message template. + A list of properties; if the template is malformed then + this will be empty. + + + + Implemented on types that apply settings to a logger configuration. + + + + + Apply the settings to the logger configuration. + + The logger configuration to apply settings to. + + + + Controls audit sink configuration. + + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Controls template parameter destructuring configuration. + + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policies. + + Policies to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policy. + + Policy to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances of the specified type with + the provided function. + + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, transform instances of the specified type with + the provided function, if the predicate returns true. Be careful to avoid any + intensive work in the predicate, as it can slow down the pipeline significantly. + + A predicate used to determine if the transform applies to + a specific type of value + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, depth will be limited to 5 property traversals deep to + guard against ballooning space when recursive/cyclic structures are accidentally passed. To + increase this limit pass a higher value. + + The maximum depth to use. + Configuration object allowing method chaining. + + + + + When destructuring objects, string values can be restricted to specified length + thus avoiding bloating payload. Limit is applied to each value separately, + sum of length of strings can exceed limit. + + The maximum string length. + Configuration object allowing method chaining. + When passed length is less than 2 + + + + When destructuring objects, collections be restricted to specified count + thus avoiding bloating payload. Limit is applied to each collection separately, + sum of length of collection can exceed limit. + Applies limit to all including dictionaries. + + Configuration object allowing method chaining. + When passed length is less than 1 + + + + Controls enrichment configuration. + + + + + Specifies one or more enrichers that may add properties dynamically to + log events. + + Enrichers to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Specifies an enricher that may add properties dynamically to + log events. + + Enricher type to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Include the specified property value in all events logged to the logger. + + The name of the property to add. + The property value to add. + If true, objects of unknown type will be logged as structures; otherwise they will be converted using . + Configuration object allowing method chaining. + + + + Enrich log events with properties from . + + Configuration object allowing method chaining. + + + + + Controls filter configuration. + + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events that match a predicate. + + Function that returns true when an event + should be excluded (silenced). + Configuration object allowing method chaining. + + + + Filter log events to include only those that match a predicate. + + Function that returns true when an event + should be included (emitted). + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Sets the minimum level at which events will be passed to sinks. + + The minimum level to set. + Configuration object allowing method chaining. + + + + Sets the minimum level to be dynamically controlled by the provided switch. + + The switch. + Configuration object allowing method chaining. + + + + Anything and everything you might want to know about + a running block of code. + + Configuration object allowing method chaining. + + + + Internal system events that aren't necessarily + observable from the outside. + + Configuration object allowing method chaining. + + + + The lifeblood of operational intelligence - things + happen. + + Configuration object allowing method chaining. + + + + Service is degraded or endangered. + + Configuration object allowing method chaining. + + + + Functionality is unavailable, invariants are broken + or data is lost. + + Configuration object allowing method chaining. + + + + If you have a pager, it goes off when one of these + occurs. + + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The switch controlling loggers for matching sources. + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The minimum level applied to loggers for matching sources. + Configuration object allowing method chaining. + + + + Allows additional setting sources to drive the logger configuration. + + + + + Apply external settings to the logger configuration. + + Configuration object allowing method chaining. + + + + Apply settings specified in the Serilog key-value setting format to the logger configuration. + + A list of key-value pairs describing logger settings. + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + Provided for binary compatibility for earlier versions, + should be removed in 3.0. Not marked obsolete because warnings + would be syntactically annoying to avoid. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Helper method for wrapping sinks. + + The parent sink configuration. + A function that allows for wrapping s + added in . + An action that configures sinks to be wrapped in . + Configuration object allowing method chaining. + + + + Holds ambient properties that can be attached to log events. To + configure, use the method. + + + Configuration: + + var log = new LoggerConfiguration() + .Enrich.FromLogContext() + ... + + Usage: + + using (LogContext.PushProperty("MessageId", message.Id)) + { + Log.Information("The MessageId property will be attached to this event"); + } + + + The scope of the context is the current logical thread, using AsyncLocal + (and so is preserved across async/await calls). + + + + Push a property onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + A token that must be disposed, in order, to pop properties back off the stack. + + + + Push an enricher onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + An enricher to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push multiple enrichers onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + . + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push enrichers onto the log context. This method is obsolete, please + use instead. + + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Obtain an enricher that represents the current contents of the . This + can be pushed back onto the context in a different location/thread when required. + + An enricher that represents the current contents of the . + + + + Constants used in the core logging pipeline and associated types. + + + + + The name of the property included in the emitted log events + when ForContext<T>() and overloads are + applied. + + + + + Adds a new property encricher to the log event. + + + + + Create a new property enricher. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Determine how, when destructuring, a supplied value is represented + as a complex log event property. + + + + + If supported, destructure the provided value. + + The value to destructure. + Recursively apply policies to destructure additional values. + The destructured value, or null. + True if the value could be destructured under this policy. + + + + Applied during logging to add additional information to log events. + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Provides filtering of the log event stream. + + + + + Returns true if the provided event is enabled. Otherwise, false. + + The event to test. + True if the event is enabled by this filter. If false + is returned, the event will not be emitted. + + + + Creates log event properties from regular .NET objects, applying policies as + required. + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + Supports the policy-driven construction of s given + regular .NET objects. + + + + + Create a given a .NET object and destructuring + strategy. + + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + The value. + + + + A destination for log events. + + + + + Emit the provided log event to the sink. + + The log event to write. + + + + Determine how a simple value is carried through the logging + pipeline as an immutable . + + + + + If supported, convert the provided value into an immutable scalar. + + The value to convert. + The converted value, or null. + True if the value could be converted under this policy. + + + + The core Serilog logging pipeline. A must + be disposed to flush any events buffered within it. Most application + code should depend on , not this class. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Close and flush the logging pipeline. + + + + + Dynamically controls logging level. + + + + + Create a at the initial + minimum level. + + The initial level to which the switch is set. + + + + The current minimum level, below which no events + should be generated. + + + + + Indicates that the marked method logs data using a message template and (optional) arguments. + The name of the parameter which contains the message template should be given in the constructor. + + + + [LoggerMethod("messageTemplate")] + public void Information(string messageTemplate, params object[] propertyValues) + { + // Do something + } + + public void Foo() + { + Information("Hello, {Name}!") // Warning: Non-existing argument in message template. + } + + + + + + Initializes a new instance of the class. + + Name of the message template parameter. + + + + Gets the name of the message template parameter. + + The name of the message template parameter. + + + + Forwards log events to another logging pipeline. Copies the events so + that mutations performed on the copies do not affect the originals. + + The properties dictionary is copied, however the values within + the dictionary (of type are expected to + be immutable. + + + + A base class for visitors that rewrite the value with modifications. For example, implementations + might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of + one type into scalar properties of another. + + + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. Returns the value unchanged. + + Operation state. + The value to visit. + The result of visiting . + + + + An abstract base class for visitors that walk data in the + format. Subclasses, by + overriding appropriate methods, may search for, transform, + or print the value structures being visited. + + + Stateless, designed to accommodate allocation-free visiting of multiple + values by the same visitor instance. + + The type of a state object passed through + the visiting process. + The type of the result generated by visiting + a node. + + + + Visit the root node type. This method delegates to + a concrete Visit*Value() method appropriate for the value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. + + Operation state. + The value to visit. + The result of visiting . + + + + May be thrown by log event sinks when a failure occurs. Should not be used in cases + where the exception would propagate out to callers. + + + + + Construct a to communicate a logging failure. + + A message describing the logging failure. + + + + A simple source of information generated by Serilog itself, + for example when exceptions are thrown and caught internally. + + + + + The output mechanism for self-log messages. + + + SelfLog.Out = Console.Error; + + + + + Set the output mechanism for self-log messages. + + A synchronized to which + self-log messages will be written. + + + + Set the output mechanism for self-log messages. + + An action to invoke with self-log messages. + // ReSharper disable once MemberCanBePrivate.Global + + + + Clear the output mechanism and disable self-log events. + + // ReSharper disable once MemberCanBePrivate.Global + + + + Write a message to the self-log. + + Standard .NET format string containing the message. + First argument, if supplied. + Second argument, if supplied. + Third argument, if supplied. + + The name is historical; because this is used from third-party sink packages, removing the "Line" + suffix as would seem sensible isn't worth the breakage. + + + + + A value represented as a mapping from keys to values. + + + + + Create a with the provided . + + The key-value mappings represented in the dictionary. + + + + + The dictionary mapping. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Descriptive aliases for . + + These do not appear as members of the enumeration + as duplicated underlying values result in issues when presenting + enum values with . + + + + The least significant level of event. + + + + + The most significant level of event. + + + + + A log event. + + + + + Construct a new . + + The time at which the event occurred. + The level of the event. + An exception associated with the event, or null. + The message template describing the event. + Properties associated with the event, including those presented in . + + + + The time at which the event occurred. + + + + + The level of the event. + + + + + The message template describing the event. + + + + + Render the message template to the specified output, given the properties associated + with the event. + + The output. + Supplies culture-specific formatting information, or null. + + + + Render the message template given the properties associated + with the event, and return the result. + + Supplies culture-specific formatting information, or null. + + + + Properties associated with the event, including those presented in . + + + + + An exception associated with the event, or null. + + + + + Add a property to the event if not already present, otherwise, update its value. + + The property to add or update. + + + + + Add a property to the event if not already present. + + The property to add. + + + + + Remove a property from the event, if present. Otherwise no action + is performed. + + The name of the property to remove. + + + + Specifies the meaning and relative importance of a log event. + + + + + Anything and everything you might want to know about + a running block of code. + + + + + Internal system events that aren't necessarily + observable from the outside. + + + + + The lifeblood of operational intelligence - things + happen. + + + + + Service is degraded or endangered. + + + + + Functionality is unavailable, invariants are broken + or data is lost. + + + + + If you have a pager, it goes off when one of these + occurs. + + + + + A property associated with a . + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + + + + + + The name of the property. + + + + + The value of the property. + + + + + Test to determine if it is a valid property name. + + The name to check. + True if the name is valid; otherwise, false. + + + + The value associated with a . Divided into scalar, + sequence and structure values to direct serialization into various formats. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + Formats the value of the current instance using the specified format. + + + The value of the current instance in the specified format. + + The format to use.-or- A null reference (Nothing in Visual Basic) to use + the default format defined for the type of the implementation. + The provider to use to format the value.-or- A null reference + (Nothing in Visual Basic) to obtain the numeric format information from the current locale + setting of the operating system. 2 + + + + Represents a message template passed to a log method. The template + can subsequently render the template in textual form given the list + of properties. + + + + + Represents the empty message template. + + + + + Construct a message template using manually-defined text and property tokens. + + The text and property tokens defining the template. + + + + Construct a message template using manually-defined text and property tokens. + + The full text of the template; used by Serilog internally to avoid unneeded + string concatenation. + The text and property tokens defining the template. + + + + Similar to , but faster. + + + + + The raw text describing the template. + + + + + Render the template as a string. + + The string representation of the template. + + + + The tokens parsed from the template. + + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + Supplies culture-specific formatting information, or null. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + Supplies culture-specific formatting information, or null. + + + + A property value corresponding to a simple, scalar type. + + + + + Construct a with the specified + value. + + The value, which may be null. + + + + The value, which may be null. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Determine if this instance is equal to . + + The instance to compare with. + True if the instances are equal; otherwise, false. + + + + Get a hash code representing the value. + + The instance's hash code. + + + + A value represented as an ordered sequence of values. + + + + + Create a with the provided . + + The elements of the sequence. + + + + + The elements of the sequence. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + A value represented as a collection of name-value properties. + + + + + Construct a with the provided properties. + + Optionally, a piece of metadata describing the "type" of the + structure. + The properties of the structure. + + + + + A piece of metadata describing the "type" of the + structure, or null. + + + + + The properties of the structure. + + Not presented as a dictionary because dictionary construction is + relatively expensive; it is cheaper to build a dictionary over properties only + when the structure is of interest. + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Predicates applied to log events that can be used + + + + + Matches events from the specified source type. + + The source type. + A predicate for matching events. + + + + Matches events from the specified source type or namespace and + nested types or namespaces. + + A dotted source type or namespace identifier. + A function that matches log events emitted by the source. + + + + Matches events with the specified property attached, + regardless of its value. + + The name of the property to match. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + The property value to match; must be a scalar type. + Null is allowed. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + A predicate for testing + The type of scalar values to match. + A predicate for matching events. + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + A that supports the Serilog + message template format. Formatting log events for display + has a different set of requirements and expectations from + rendering the data within them. To meet this, the formatter + overrides some behavior: First, strings are always output + as literals (not quoted) unless some other format is applied + to them. Second, tokens without matching properties are skipped + rather than being written as raw text. + + + + + Construct a . + + A message template describing the + output messages. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + This method will apply only upper or lower case formatting, not fixed width + + + + + Describes the properties available in standard message template-based + output format strings. + + + + + The message rendered from the log event. + + + + + The timestamp of the log event. + + + + + The level of the log event. + + + + + A new line. + + + + + The exception associated with the log event. + + + + + The properties of the log event. + + + + + Create properties from the provided log event. + + The log event. + A dictionary with properties representing the log event. + + + + Create properties from the provided log event. + + The log event. + The output template. + A dictionary with properties representing the log event. + + + + Formats log events in a textual representation. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + Formats log events in a simple JSON structure. Instances of this class + are safe for concurrent access by multiple threads. + + + + + Construct a . + + A string that will be written after each log event is formatted. + If null, will be used. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Construct a . + + If true, the properties of the event will be written to + the output without enclosing braces. Otherwise, if false, each event will be written as a well-formed + JSON object. + A string that will be written after each log event is formatted. + If null, will be used. Ignored if + is true. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + Adds a writer function for a given type. + + The type of values, which handles. + The function, which writes the values. + + + + Writes out individual renderings of attached properties + + + + + Writes out the values of individual renderings of attached properties + + + + + Writes out the attached properties + + + + + Writes out the attached properties values + + + + + Writes out the attached exception + + + + + (Optionally) writes out the rendered message + + + + + Writes out the message template for the logevent. + + + + + Writes out the log level + + + + + Writes out the log timestamp + + + + + Writes out a structure property + + + + + Writes out a sequence property + + + + + Writes out a dictionary + + + + + Writes out a json property with the specified value on output writer + + + + + Allows a subclass to write out objects that have no configured literal writer. + + The value to be written as a json construct + The writer to write on + + + + Perform simple JSON string escaping on . + + A raw string. + A JSON-escaped version of . + + + + Converts Serilog's structured property value format into JSON. + + + + + Construct a . + + When serializing structured (object) values, + the property name to use for the Serilog field + in the resulting JSON. If null, no type tag field will be written. The default is + "_typeTag". + + + + Format as JSON to . + + The value to format + The output + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Write a literal as a single JSON value, e.g. as a number or string. Override to + support more value types. Don't write arrays/structures through this method - the + active destructuring policies have already indicated the value should be scalar at + this point. + + The value to write. + The output + + + + Write a valid JSON string literal, escaping as necessary. + + The string value to write. + The output. + + + + Formats log events as a raw dump of the message template and properties. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + The core Serilog logging API, used for writing log events. + + + var log = new LoggerConfiguration() + .WriteTo.Console() + .CreateLogger(); + + var thing = "World"; + log.Information("Hello, {Thing}!", thing); + + + The methods on (and its static sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + An optional static entry point for logging that can be easily referenced + by different parts of an application. To configure the + set the Logger static property to a logger instance. + + + Log.Logger = new LoggerConfiguration() + .WithConsoleSink() + .CreateLogger(); + + var thing = "World"; + Log.Logger.Information("Hello, {Thing}!", thing); + + + The methods on (and its dynamic sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + The globally-shared logger. + + + + + + Resets to the default and disposes the original if possible + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Configuration object for creating instances. + + + + + Configures the sinks that log events will be emitted to. + + + + + Configures sinks for auditing, instead of regular (safe) logging. When auditing is used, + exceptions from sinks and any intermediate filters propagate back to the caller. Most callers + should use instead. + + + Not all sinks are compatible with transactional auditing requirements (many will use asynchronous + batching to improve write throughput and latency). Sinks need to opt-in to auditing support by + extending , though the generic + method allows any sink class to be adapted for auditing. + + + + + Configures the minimum level at which events will be passed to sinks. If + not specified, only events at the + level and above will be passed through. + + Configuration object allowing method chaining. + + + + Configures enrichment of s. Enrichers can add, remove and + modify the properties associated with events. + + + + + Configures global filtering of s. + + + + + Configures destructuring of message template parameters. + + + + + Apply external settings to the logger configuration. + + + + + Create a logger using the configured sinks, enrichers and minimum level. + + The logger. + To free resources held by sinks ahead of program shutdown, + the returned logger may be cast to and + disposed. + + + + A structure representing the alignment settings to apply when rendering a property. + + + + + Initializes a new instance of . + + The text alignment direction. + The width of the text, in characters. + + + + The text alignment direction. + + + + + The width of the text. + + + + + Defines the direction of the alignment. + + + + + Text will be left-aligned. + + + + + Text will be right-aligned. + + + + + Instructs the logger on how to store information about provided + parameters. + + + + + Convert known types and objects to scalars, arrays to sequences. + + + + + Convert all types to scalar strings. Prefix name with '$'. + + + + + Convert known types to scalars, destructure objects and collections + into sequences and structures. Prefix name with '@'. + + + + + Parses message template strings into sequences of text or property + tokens. + + + + + Parse the supplied message template. + + The message template to parse. + A sequence of text or property tokens. Where the template + is not syntactically valid, text tokens will be returned. The parser + will make a best effort to extract valid property tokens even in the + presence of parsing issues. + + + + An element parsed from a message template string. + + + + + Construct a . + + The token's start index in the template. + + + + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + A message template token representing a log event property. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The destructuring strategy applied to the property, if any. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The alignment applied to the property, if any. + The destructuring strategy applied to the property, if any. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + The property name. + + + + + Destructuring strategy applied to the property. + + + + + Format applied to the property. + + + + + Alignment applied to the property. + + + + + True if the property name is a positional index; otherwise, false. + + + + + Try to get the integer value represented by the property name. + + The integer value, if present. + True if the property is positional, otherwise false. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + A message template token representing literal text. + + + + + Construct a . + + The text of the token. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + The text of the token. + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided + + The provided with formatting applied + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.dll b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.dll new file mode 100644 index 00000000..acb43403 Binary files /dev/null and b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.dll differ diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.xml b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.xml new file mode 100644 index 00000000..3da73e54 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/lib/netstandard1.3/Serilog.xml @@ -0,0 +1,4499 @@ + + + + Serilog + + + + + Create properties based on an ordered list of provided values. + + The template that the parameters apply to. + Objects corresponding to the properties + represented in the message template. + A list of properties; if the template is malformed then + this will be empty. + + + + Implemented on types that apply settings to a logger configuration. + + + + + Apply the settings to the logger configuration. + + The logger configuration to apply settings to. + + + + Controls audit sink configuration. + + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Audit log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Controls template parameter destructuring configuration. + + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + Treat objects of the specified type as scalar values, i.e., don't break + them down into properties event when destructuring complex types. + + Type to treat as scalar. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policies. + + Policies to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances with the provided policy. + + Policy to apply when destructuring. + Configuration object allowing method chaining. + + + + When destructuring objects, transform instances of the specified type with + the provided function. + + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, transform instances of the specified type with + the provided function, if the predicate returns true. Be careful to avoid any + intensive work in the predicate, as it can slow down the pipeline significantly. + + A predicate used to determine if the transform applies to + a specific type of value + Function mapping instances of + to an alternative representation. + Type of values to transform. + Configuration object allowing method chaining. + + + + + When destructuring objects, depth will be limited to 5 property traversals deep to + guard against ballooning space when recursive/cyclic structures are accidentally passed. To + increase this limit pass a higher value. + + The maximum depth to use. + Configuration object allowing method chaining. + + + + + When destructuring objects, string values can be restricted to specified length + thus avoiding bloating payload. Limit is applied to each value separately, + sum of length of strings can exceed limit. + + The maximum string length. + Configuration object allowing method chaining. + When passed length is less than 2 + + + + When destructuring objects, collections be restricted to specified count + thus avoiding bloating payload. Limit is applied to each collection separately, + sum of length of collection can exceed limit. + Applies limit to all including dictionaries. + + Configuration object allowing method chaining. + When passed length is less than 1 + + + + Controls enrichment configuration. + + + + + Specifies one or more enrichers that may add properties dynamically to + log events. + + Enrichers to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Specifies an enricher that may add properties dynamically to + log events. + + Enricher type to apply to all events passing through + the logger. + Configuration object allowing method chaining. + + + + Include the specified property value in all events logged to the logger. + + The name of the property to add. + The property value to add. + If true, objects of unknown type will be logged as structures; otherwise they will be converted using . + Configuration object allowing method chaining. + + + + Enrich log events with properties from . + + Configuration object allowing method chaining. + + + + + Controls filter configuration. + + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events from the stream based on the provided filter. + + The filters to apply. + Configuration object allowing method chaining. + + + + Filter out log events that match a predicate. + + Function that returns true when an event + should be excluded (silenced). + Configuration object allowing method chaining. + + + + Filter log events to include only those that match a predicate. + + Function that returns true when an event + should be included (emitted). + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Sets the minimum level at which events will be passed to sinks. + + The minimum level to set. + Configuration object allowing method chaining. + + + + Sets the minimum level to be dynamically controlled by the provided switch. + + The switch. + Configuration object allowing method chaining. + + + + Anything and everything you might want to know about + a running block of code. + + Configuration object allowing method chaining. + + + + Internal system events that aren't necessarily + observable from the outside. + + Configuration object allowing method chaining. + + + + The lifeblood of operational intelligence - things + happen. + + Configuration object allowing method chaining. + + + + Service is degraded or endangered. + + Configuration object allowing method chaining. + + + + Functionality is unavailable, invariants are broken + or data is lost. + + Configuration object allowing method chaining. + + + + If you have a pager, it goes off when one of these + occurs. + + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The switch controlling loggers for matching sources. + Configuration object allowing method chaining. + + + + Override the minimum level for events from a specific namespace or type name. + + The (partial) namespace or type name to set the override for. + The minimum level applied to loggers for matching sources. + Configuration object allowing method chaining. + + + + Allows additional setting sources to drive the logger configuration. + + + + + Apply external settings to the logger configuration. + + Configuration object allowing method chaining. + + + + Apply settings specified in the Serilog key-value setting format to the logger configuration. + + A list of key-value pairs describing logger settings. + Configuration object allowing method chaining. + + + + Controls sink configuration. + + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + Provided for binary compatibility for earlier versions, + should be removed in 3.0. Not marked obsolete because warnings + would be syntactically annoying to avoid. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to the specified . + + The sink. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + An action that configures the sub-logger. + The minimum level for + events passed through the sink. Ignored when is specified. + A switch allowing the pass-through minimum level + to be changed at runtime. + Configuration object allowing method chaining. + + + + Write log events to a sub-logger, where further processing may occur. Events through + the sub-logger will be constrained by filters and enriched by enrichers that are + active in the parent. A sub-logger cannot be used to log at a more verbose level, but + a less verbose level is possible. + + The sub-logger. This will not be shut down automatically when the + parent logger is disposed. + The minimum level for + events passed through the sink. + Configuration object allowing method chaining. + + + + Helper method for wrapping sinks. + + The parent sink configuration. + A function that allows for wrapping s + added in . + An action that configures sinks to be wrapped in . + Configuration object allowing method chaining. + + + + Holds ambient properties that can be attached to log events. To + configure, use the method. + + + Configuration: + + var log = new LoggerConfiguration() + .Enrich.FromLogContext() + ... + + Usage: + + using (LogContext.PushProperty("MessageId", message.Id)) + { + Log.Information("The MessageId property will be attached to this event"); + } + + + The scope of the context is the current logical thread, using AsyncLocal + (and so is preserved across async/await calls). + + + + Push a property onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + A token that must be disposed, in order, to pop properties back off the stack. + + + + Push an enricher onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + An enricher to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push multiple enrichers onto the context, returning an + that must later be used to remove the property, along with any others that + may have been pushed on top of it and not yet popped. The property must + be popped from the same thread/logical call context. + + . + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Push enrichers onto the log context. This method is obsolete, please + use instead. + + Enrichers to push onto the log context + A token that must be disposed, in order, to pop properties back off the stack. + + + + + Obtain an enricher that represents the current contents of the . This + can be pushed back onto the context in a different location/thread when required. + + An enricher that represents the current contents of the . + + + + Constants used in the core logging pipeline and associated types. + + + + + The name of the property included in the emitted log events + when ForContext<T>() and overloads are + applied. + + + + + Adds a new property encricher to the log event. + + + + + Create a new property enricher. + + The name of the property. + The value of the property. + A handle to later remove the property from the context. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Determine how, when destructuring, a supplied value is represented + as a complex log event property. + + + + + If supported, destructure the provided value. + + The value to destructure. + Recursively apply policies to destructure additional values. + The destructured value, or null. + True if the value could be destructured under this policy. + + + + Applied during logging to add additional information to log events. + + + + + Enrich the log event. + + The log event to enrich. + Factory for creating new properties to add to the event. + + + + Provides filtering of the log event stream. + + + + + Returns true if the provided event is enabled. Otherwise, false. + + The event to test. + True if the event is enabled by this filter. If false + is returned, the event will not be emitted. + + + + Creates log event properties from regular .NET objects, applying policies as + required. + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + + + + + Supports the policy-driven construction of s given + regular .NET objects. + + + + + Create a given a .NET object and destructuring + strategy. + + The value of the property. + If true, and the value is a non-primitive, non-array type, + then the value will be converted to a structure; otherwise, unknown types will + be converted to scalars, which are generally stored as strings. + The value. + + + + A destination for log events. + + + + + Emit the provided log event to the sink. + + The log event to write. + + + + Determine how a simple value is carried through the logging + pipeline as an immutable . + + + + + If supported, convert the provided value into an immutable scalar. + + The value to convert. + The converted value, or null. + True if the value could be converted under this policy. + + + + The core Serilog logging pipeline. A must + be disposed to flush any events buffered within it. Most application + code should depend on , not this class. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Close and flush the logging pipeline. + + + + + Dynamically controls logging level. + + + + + Create a at the initial + minimum level. + + The initial level to which the switch is set. + + + + The current minimum level, below which no events + should be generated. + + + + + Indicates that the marked method logs data using a message template and (optional) arguments. + The name of the parameter which contains the message template should be given in the constructor. + + + + [LoggerMethod("messageTemplate")] + public void Information(string messageTemplate, params object[] propertyValues) + { + // Do something + } + + public void Foo() + { + Information("Hello, {Name}!") // Warning: Non-existing argument in message template. + } + + + + + + Initializes a new instance of the class. + + Name of the message template parameter. + + + + Gets the name of the message template parameter. + + The name of the message template parameter. + + + + Forwards log events to another logging pipeline. Copies the events so + that mutations performed on the copies do not affect the originals. + + The properties dictionary is copied, however the values within + the dictionary (of type are expected to + be immutable. + + + + A base class for visitors that rewrite the value with modifications. For example, implementations + might remove all structure properties with a certain name, apply size/length limits, or convert scalar properties of + one type into scalar properties of another. + + + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. Returns the value unchanged. + + Operation state. + The value to visit. + The result of visiting . + + + + An abstract base class for visitors that walk data in the + format. Subclasses, by + overriding appropriate methods, may search for, transform, + or print the value structures being visited. + + + Stateless, designed to accommodate allocation-free visiting of multiple + values by the same visitor instance. + + The type of a state object passed through + the visiting process. + The type of the result generated by visiting + a node. + + + + Visit the root node type. This method delegates to + a concrete Visit*Value() method appropriate for the value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value of an unsupported type. + + Operation state. + The value to visit. + The result of visiting . + + + + May be thrown by log event sinks when a failure occurs. Should not be used in cases + where the exception would propagate out to callers. + + + + + Construct a to communicate a logging failure. + + A message describing the logging failure. + + + + A simple source of information generated by Serilog itself, + for example when exceptions are thrown and caught internally. + + + + + The output mechanism for self-log messages. + + + SelfLog.Out = Console.Error; + + + + + Set the output mechanism for self-log messages. + + A synchronized to which + self-log messages will be written. + + + + Set the output mechanism for self-log messages. + + An action to invoke with self-log messages. + // ReSharper disable once MemberCanBePrivate.Global + + + + Clear the output mechanism and disable self-log events. + + // ReSharper disable once MemberCanBePrivate.Global + + + + Write a message to the self-log. + + Standard .NET format string containing the message. + First argument, if supplied. + Second argument, if supplied. + Third argument, if supplied. + + The name is historical; because this is used from third-party sink packages, removing the "Line" + suffix as would seem sensible isn't worth the breakage. + + + + + A value represented as a mapping from keys to values. + + + + + Create a with the provided . + + The key-value mappings represented in the dictionary. + + + + + The dictionary mapping. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Descriptive aliases for . + + These do not appear as members of the enumeration + as duplicated underlying values result in issues when presenting + enum values with . + + + + The least significant level of event. + + + + + The most significant level of event. + + + + + A log event. + + + + + Construct a new . + + The time at which the event occurred. + The level of the event. + An exception associated with the event, or null. + The message template describing the event. + Properties associated with the event, including those presented in . + + + + The time at which the event occurred. + + + + + The level of the event. + + + + + The message template describing the event. + + + + + Render the message template to the specified output, given the properties associated + with the event. + + The output. + Supplies culture-specific formatting information, or null. + + + + Render the message template given the properties associated + with the event, and return the result. + + Supplies culture-specific formatting information, or null. + + + + Properties associated with the event, including those presented in . + + + + + An exception associated with the event, or null. + + + + + Add a property to the event if not already present, otherwise, update its value. + + The property to add or update. + + + + + Add a property to the event if not already present. + + The property to add. + + + + + Remove a property from the event, if present. Otherwise no action + is performed. + + The name of the property to remove. + + + + Specifies the meaning and relative importance of a log event. + + + + + Anything and everything you might want to know about + a running block of code. + + + + + Internal system events that aren't necessarily + observable from the outside. + + + + + The lifeblood of operational intelligence - things + happen. + + + + + Service is degraded or endangered. + + + + + Functionality is unavailable, invariants are broken + or data is lost. + + + + + If you have a pager, it goes off when one of these + occurs. + + + + + A property associated with a . + + + + + Construct a with the specified name and value. + + The name of the property. + The value of the property. + + + + + + The name of the property. + + + + + The value of the property. + + + + + Test to determine if it is a valid property name. + + The name to check. + True if the name is valid; otherwise, false. + + + + The value associated with a . Divided into scalar, + sequence and structure values to direct serialization into various formats. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + Formats the value of the current instance using the specified format. + + + The value of the current instance in the specified format. + + The format to use.-or- A null reference (Nothing in Visual Basic) to use + the default format defined for the type of the implementation. + The provider to use to format the value.-or- A null reference + (Nothing in Visual Basic) to obtain the numeric format information from the current locale + setting of the operating system. 2 + + + + Represents a message template passed to a log method. The template + can subsequently render the template in textual form given the list + of properties. + + + + + Represents the empty message template. + + + + + Construct a message template using manually-defined text and property tokens. + + The text and property tokens defining the template. + + + + Construct a message template using manually-defined text and property tokens. + + The full text of the template; used by Serilog internally to avoid unneeded + string concatenation. + The text and property tokens defining the template. + + + + Similar to , but faster. + + + + + The raw text describing the template. + + + + + Render the template as a string. + + The string representation of the template. + + + + The tokens parsed from the template. + + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + Supplies culture-specific formatting information, or null. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + + + + Convert the message template into a textual message, given the + properties matching the tokens in the message template. + + Properties matching template tokens. + The message created from the template and properties. If the + properties are mismatched with the template, the template will be + returned with incomplete substitution. + Supplies culture-specific formatting information, or null. + + + + A property value corresponding to a simple, scalar type. + + + + + Construct a with the specified + value. + + The value, which may be null. + + + + The value, which may be null. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Determine if this instance is equal to . + + The instance to compare with. + True if the instances are equal; otherwise, false. + + + + Get a hash code representing the value. + + The instance's hash code. + + + + A value represented as an ordered sequence of values. + + + + + Create a with the provided . + + The elements of the sequence. + + + + + The elements of the sequence. + + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + A value represented as a collection of name-value properties. + + + + + Construct a with the provided properties. + + Optionally, a piece of metadata describing the "type" of the + structure. + The properties of the structure. + + + + + A piece of metadata describing the "type" of the + structure, or null. + + + + + The properties of the structure. + + Not presented as a dictionary because dictionary construction is + relatively expensive; it is cheaper to build a dictionary over properties only + when the structure is of interest. + + + + Render the value to the output. + + The output. + A format string applied to the value, or null. + A format provider to apply to the value, or null to use the default. + . + + + + Predicates applied to log events that can be used + + + + + Matches events from the specified source type. + + The source type. + A predicate for matching events. + + + + Matches events from the specified source type or namespace and + nested types or namespaces. + + A dotted source type or namespace identifier. + A function that matches log events emitted by the source. + + + + Matches events with the specified property attached, + regardless of its value. + + The name of the property to match. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + The property value to match; must be a scalar type. + Null is allowed. + A predicate for matching events. + + + + Matches events with the specified property value. + + The name of the property to match. + A predicate for testing + The type of scalar values to match. + A predicate for matching events. + + + + Implements the {Level} element. + can now have a fixed width applied to it, as well as casing rules. + Width is set through formats like "u3" (uppercase three chars), + "w1" (one lowercase char), or "t4" (title case four chars). + + + + + A that supports the Serilog + message template format. Formatting log events for display + has a different set of requirements and expectations from + rendering the data within them. To meet this, the formatter + overrides some behavior: First, strings are always output + as literals (not quoted) unless some other format is applied + to them. Second, tokens without matching properties are skipped + rather than being written as raw text. + + + + + Construct a . + + A message template describing the + output messages. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + This method will apply only upper or lower case formatting, not fixed width + + + + + Describes the properties available in standard message template-based + output format strings. + + + + + The message rendered from the log event. + + + + + The timestamp of the log event. + + + + + The level of the log event. + + + + + A new line. + + + + + The exception associated with the log event. + + + + + The properties of the log event. + + + + + Create properties from the provided log event. + + The log event. + A dictionary with properties representing the log event. + + + + Create properties from the provided log event. + + The log event. + The output template. + A dictionary with properties representing the log event. + + + + Formats log events in a textual representation. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + Formats log events in a simple JSON structure. Instances of this class + are safe for concurrent access by multiple threads. + + + + + Construct a . + + A string that will be written after each log event is formatted. + If null, will be used. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Construct a . + + If true, the properties of the event will be written to + the output without enclosing braces. Otherwise, if false, each event will be written as a well-formed + JSON object. + A string that will be written after each log event is formatted. + If null, will be used. Ignored if + is true. + If true, the message will be rendered and written to the output as a + property named RenderedMessage. + Supplies culture-specific formatting information, or null. + + + + Format the log event into the output. + + The event to format. + The output. + + + + Adds a writer function for a given type. + + The type of values, which handles. + The function, which writes the values. + + + + Writes out individual renderings of attached properties + + + + + Writes out the values of individual renderings of attached properties + + + + + Writes out the attached properties + + + + + Writes out the attached properties values + + + + + Writes out the attached exception + + + + + (Optionally) writes out the rendered message + + + + + Writes out the message template for the logevent. + + + + + Writes out the log level + + + + + Writes out the log timestamp + + + + + Writes out a structure property + + + + + Writes out a sequence property + + + + + Writes out a dictionary + + + + + Writes out a json property with the specified value on output writer + + + + + Allows a subclass to write out objects that have no configured literal writer. + + The value to be written as a json construct + The writer to write on + + + + Perform simple JSON string escaping on . + + A raw string. + A JSON-escaped version of . + + + + Converts Serilog's structured property value format into JSON. + + + + + Construct a . + + When serializing structured (object) values, + the property name to use for the Serilog field + in the resulting JSON. If null, no type tag field will be written. The default is + "_typeTag". + + + + Format as JSON to . + + The value to format + The output + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Visit a value. + + Operation state. + The value to visit. + The result of visiting . + + + + Write a literal as a single JSON value, e.g. as a number or string. Override to + support more value types. Don't write arrays/structures through this method - the + active destructuring policies have already indicated the value should be scalar at + this point. + + The value to write. + The output + + + + Write a valid JSON string literal, escaping as necessary. + + The string value to write. + The output. + + + + Formats log events as a raw dump of the message template and properties. + + + + + Format the log event into the output. + + The event to format. + The output. + + + + The core Serilog logging API, used for writing log events. + + + var log = new LoggerConfiguration() + .WriteTo.Console() + .CreateLogger(); + + var thing = "World"; + log.Information("Hello, {Thing}!", thing); + + + The methods on (and its static sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + + + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + An optional static entry point for logging that can be easily referenced + by different parts of an application. To configure the + set the Logger static property to a logger instance. + + + Log.Logger = new LoggerConfiguration() + .WithConsoleSink() + .CreateLogger(); + + var thing = "World"; + Log.Logger.Information("Hello, {Thing}!", thing); + + + The methods on (and its dynamic sibling ) are guaranteed + never to throw exceptions. Methods on all other types may. + + + + + The globally-shared logger. + + + + + + Resets to the default and disposes the original if possible + + + + + Create a logger that enriches log events via the provided enrichers. + + Enricher that applies in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events via the provided enrichers. + + Enrichers that apply in the context. + A logger that will enrich log events as specified. + + + + Create a logger that enriches log events with the specified property. + + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Create a logger that marks log events as being from the specified + source type. + + Type generating log messages in the context. + A logger that will enrich log events as specified. + + + + Write an event to the log. + + The event to write. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level. + + The level of the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + + + Write a log event with the specified level and associated exception. + + The level of the event. + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + + + Determine if events at the specified level will be passed through + to the log sinks. + + Level to check. + True if the level is enabled; otherwise, false. + + + + Write a log event with the level. + + Message template describing the event. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose("Staring into space, wondering if we're alone."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Verbose(ex, "Staring into space, wondering where this comet came from."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug("Starting up at {StartedAt}.", DateTime.Now); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Debug(ex, "Swallowing a mundane exception."); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information("Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Information(ex, "Processed {RecordCount} records in {TimeMS}.", records.Length, sw.ElapsedMilliseconds); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning("Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Warning(ex, "Skipped {SkipCount} records.", skippedRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error("Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Error(ex, "Failed {ErrorCount} records.", brokenRecords.Length); + + + + + Write a log event with the level. + + Message template describing the event. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level. + + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal("Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + Object positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Write a log event with the level and associated exception. + + Exception related to the event. + Message template describing the event. + Objects positionally formatted into the message template. + + Log.Fatal(ex, "Process terminating."); + + + + + Uses configured scalar conversion and destructuring rules to bind a set of properties to a + message template. Returns false if the template or values are invalid (ILogger + methods never throw exceptions). + + Message template describing an event. + Objects positionally formatted into the message template. + The internal representation of the template, which may be used to + render the as text. + Captured properties from the template and . + + MessageTemplate template; + IEnumerable<LogEventProperty> properties>; + if (Log.BindMessageTemplate("Hello, {Name}!", new[] { "World" }, out template, out properties) + { + var propsByName = properties.ToDictionary(p => p.Name, p => p.Value); + Console.WriteLine(template.Render(propsByName, null)); + // -> "Hello, World!" + } + + + + + Uses configured scalar conversion and destructuring rules to bind a property value to its captured + representation. + + True if the property could be bound, otherwise false (ILogger + The name of the property. Must be non-empty. + The property value. + If true, the value will be serialized as a structured + object if possible; if false, the object will be recorded as a scalar or simple array. + The resulting property. + methods never throw exceptions). + + + + Configuration object for creating instances. + + + + + Configures the sinks that log events will be emitted to. + + + + + Configures sinks for auditing, instead of regular (safe) logging. When auditing is used, + exceptions from sinks and any intermediate filters propagate back to the caller. Most callers + should use instead. + + + Not all sinks are compatible with transactional auditing requirements (many will use asynchronous + batching to improve write throughput and latency). Sinks need to opt-in to auditing support by + extending , though the generic + method allows any sink class to be adapted for auditing. + + + + + Configures the minimum level at which events will be passed to sinks. If + not specified, only events at the + level and above will be passed through. + + Configuration object allowing method chaining. + + + + Configures enrichment of s. Enrichers can add, remove and + modify the properties associated with events. + + + + + Configures global filtering of s. + + + + + Configures destructuring of message template parameters. + + + + + Apply external settings to the logger configuration. + + + + + Create a logger using the configured sinks, enrichers and minimum level. + + The logger. + To free resources held by sinks ahead of program shutdown, + the returned logger may be cast to and + disposed. + + + + A structure representing the alignment settings to apply when rendering a property. + + + + + Initializes a new instance of . + + The text alignment direction. + The width of the text, in characters. + + + + The text alignment direction. + + + + + The width of the text. + + + + + Defines the direction of the alignment. + + + + + Text will be left-aligned. + + + + + Text will be right-aligned. + + + + + Instructs the logger on how to store information about provided + parameters. + + + + + Convert known types and objects to scalars, arrays to sequences. + + + + + Convert all types to scalar strings. Prefix name with '$'. + + + + + Convert known types to scalars, destructure objects and collections + into sequences and structures. Prefix name with '@'. + + + + + Parses message template strings into sequences of text or property + tokens. + + + + + Parse the supplied message template. + + The message template to parse. + A sequence of text or property tokens. Where the template + is not syntactically valid, text tokens will be returned. The parser + will make a best effort to extract valid property tokens even in the + presence of parsing issues. + + + + An element parsed from a message template string. + + + + + Construct a . + + The token's start index in the template. + + + + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + A message template token representing a log event property. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The destructuring strategy applied to the property, if any. + + + + + Construct a . + + The name of the property. + The token as it appears in the message template. + The format applied to the property, if any. + The alignment applied to the property, if any. + The destructuring strategy applied to the property, if any. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + The property name. + + + + + Destructuring strategy applied to the property. + + + + + Format applied to the property. + + + + + Alignment applied to the property. + + + + + True if the property name is a positional index; otherwise, false. + + + + + Try to get the integer value represented by the property name. + + The integer value, if present. + True if the property is positional, otherwise false. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + A message template token representing literal text. + + + + + Construct a . + + The text of the token. + The token's start index in the template. + + + + + The token's length. + + + + + Render the token to the output. + + Properties that may be represented by the token. + Output for the rendered string. + Supplies culture-specific formatting information, or null. + + + + Determines whether the specified is equal to the current . + + + true if the specified object is equal to the current object; otherwise, false. + + The object to compare with the current object. 2 + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + 2 + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + 2 + + + + The text of the token. + + + + + Apply upper or lower casing to when is provided. + Returns when no or invalid format provided + + The provided with formatting applied + + + + Writes the provided value to the output, applying direction-based padding when is provided. + + + + diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.2.5.0.nupkg.sha512 b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.2.5.0.nupkg.sha512 new file mode 100644 index 00000000..447e4aa5 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.2.5.0.nupkg.sha512 @@ -0,0 +1 @@ +1uxuc49NByFrDrLszFOWqpUCL7pA9nc1SAgKPB3J7aNq6ChIvQmb64JIuY2hvK/K7YlWK/FGb3FYdxsFGWA+Mw== \ No newline at end of file diff --git a/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.nuspec b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.nuspec new file mode 100644 index 00000000..da425345 --- /dev/null +++ b/lambda/MAS/nice.logging.quickfix/serilog/2.5.0/serilog.nuspec @@ -0,0 +1,46 @@ + + + + Serilog + 2.5.0 + Serilog Contributors + Serilog Contributors + false + http://www.apache.org/licenses/LICENSE-2.0 + http://serilog.net/ + http://serilog.net/images/serilog-nuget.png + Simple .NET logging with fully-structured events + serilog logging semantic structured + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lambda/MAS/web.config b/lambda/MAS/web.config index bcc15ecc..0fd8dd77 100644 --- a/lambda/MAS/web.config +++ b/lambda/MAS/web.config @@ -2,9 +2,9 @@ - + - +