public AzureBlobOrEventHubCustomSink( BlobServiceClient blobServiceClient, EventHubClient eventHubClient, ITextFormatter textFormatter, int eventSizeLimit = 256 * 1024, string storageContainerName = "logs") { this.textFormatter = textFormatter; this.blobServiceClient = blobServiceClient; this.storageContainerName = storageContainerName; this.eventSizeLimit = eventSizeLimit; this.azureEventHubSink = new AzureEventHubSink(eventHubClient, textFormatter); }
/// <summary> /// A sink that puts log events into a provided Azure Event Hub. /// </summary> /// <param name="loggerConfiguration">The logger configuration.</param> /// <param name="formatter">Formatter used to convert log events to text.</param> /// <param name="eventHubClient">The Event Hub to use to insert the log entries to.</param> /// <param name="restrictedToMinimumLevel">The minimum log event level required in order to write an event to the sink.</param> /// <returns>Logger configuration, allowing configuration to continue.</returns> /// <exception cref="ArgumentNullException">A required parameter is null.</exception> public static LoggerConfiguration AzureEventHub( this LoggerAuditSinkConfiguration loggerConfiguration, ITextFormatter formatter, EventHubClient eventHubClient, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum) { if (loggerConfiguration == null) { throw new ArgumentNullException("loggerConfiguration"); } if (eventHubClient == null) { throw new ArgumentNullException("eventHubClient"); } var sink = new AzureEventHubSink(eventHubClient, formatter); return(loggerConfiguration.Sink(sink, restrictedToMinimumLevel)); }