コード例 #1
0
 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));
        }